Quick Search
»

# Correlation

### Syntax

public static double Correlation(this double[] x, double[] y, int n)

public double Correlation(double[] x, double[] y, int n)

### Parameter Description

 x Array of double values (first data series) y Array of double values (second data series) n Correlation lookback period

### Description

Calculates Pearson Correlation. Uses code from ALGLIB project.

### Example

The following example demonstrates how well correlated were CMO and RSI:

Example using C# extension methods:

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies { public class CorrelationDemo : WealthScript { protected override void Execute() { // How well correlated were CMO and RSI?

int n = Bars.Count; double[] x = new double[n]; double[] y = new double[n]; RSI rsi = RSI.Series( Close, 20 ); CMO cmo = CMO.Series( Close, 20 ); for(int bar = 0; bar < Bars.Count; bar++) { x[bar] = rsi[bar]; y[bar] = cmo[bar]; } DrawLabel( PricePane, "Correlation: " + x.Correlation( y, n ) ); } } }

Legacy syntax example:

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Components; // Correlation here

namespace WealthLab.Strategies { public class CorrelationDemo : WealthScript { protected override void Execute() { // How well correlated were CMO and RSI?

int n = Bars.Count; double[] x = new double[n]; double[] y = new double[n]; RSI rsi = RSI.Series( Close, 20 ); CMO cmo = CMO.Series( Close, 20 ); for(int bar = 0; bar < Bars.Count; bar++) { x[bar] = rsi[bar]; y[bar] = cmo[bar]; } Calculate calc = new Calculate(this); // pass WealthScript DrawLabel( PricePane, "Correlation: " + calc.Correlation( x, y, n ) ); } } }