Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Mean reversion spread strategy

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Mean reversion spread strategy

    I have the below c# code for creating a Ornstein-Uhlenbeck model. Could anyone advise how easy it is to convert this into something usable in NT7?



    namespace YourNameSpaceHere
    {
    internal sealed class OrnsteinUhlenbeck
    {
    internal Dictionary<string, double> CalibrateOrnsteinUhlenbeck(GeneralMatrix generalMatrix, int delta)
    {
    int n = generalMatrix.RowDimension;
    double sX = 0;
    double sY = 0;
    double sXX = 0;
    double sXY = 0;
    double sYY = 0;

    for (int i = 0; i < n - 1; i++)
    {
    sX += generalMatrix.GetElement(i, 0);
    sY += generalMatrix.GetElement(i + 1, 0);
    sXX += System.Math.Pow(generalMatrix.GetElement(i, 0), 2);
    sXY += generalMatrix.GetElement(i, 0)*generalMatrix.GetElement(i + 1, 0);
    sYY += System.Math.Pow(generalMatrix.GetElement(i + 1, 0), 2);
    }
    double mu = (sY*sXX - sX*sXY)/(n*(sXX*sXY) - (System.Math.Pow(sX, 2) - sX - sY));
    double lambda = -System.Math.Log((sXY - mu*sX - mu*sY + n*System.Math.Pow(mu, 2)));
    double a = System.Math.Exp(-lambda*delta);
    double sigmah2 = (sYY - 2.0D*a*sXY + System.Math.Pow(a, 2.0D)*sXX - 2.0D*mu*(1.0D - a)*(sY - a*sX) +
    n*System.Math.Pow(mu, 2.0D)*System.Math.Pow(1.0D - a, 2.0D))/n;
    double sigma = System.Math.Pow(sigmah2*2.0D*lambda/(1.0D - System.Math.Pow(a, 2.0D)), 0.5D);
    var results = new Dictionary<string, double> {{"mu", mu}, {"sigma", sigma}, {"lambda", lambda}};
    return results;
    }
    }
    }

    #2
    novamatic, we would unfortunately not be familiar with the model or it uses but the core C# code using the dictionary should be easily usable in NinjaScript / C#.
    BertrandNinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by traderqz, Today, 12:06 AM
    10 responses
    18 views
    0 likes
    Last Post traderqz  
    Started by algospoke, 04-17-2024, 06:40 PM
    5 responses
    46 views
    0 likes
    Last Post NinjaTrader_Jesse  
    Started by arvidvanstaey, Today, 02:19 PM
    1 response
    6 views
    0 likes
    Last Post NinjaTrader_Zachary  
    Started by mmckinnm, Today, 01:34 PM
    3 responses
    5 views
    0 likes
    Last Post NinjaTrader_ChelseaB  
    Started by f.saeidi, Today, 01:32 PM
    2 responses
    9 views
    0 likes
    Last Post f.saeidi  
    Working...
    X