public void ValidateCalculateLinearFastDiscreteByEquityAndMargin2() { Portfolio portfolio = Portfolio.CalculateLinearFast(m_equity, m_margin, 10000000, 0.95, 3000000, 175, 1); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Profit, 66302.18930833213, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.When, 45.247374827270384, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[0], 0, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[1], 6.227138204537038, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[2], 42.8705934207335, 0.001)); }
public void ValidateCalculateLinearFastDiscreteByEquityAndMargin() { Portfolio portfolio = Portfolio.CalculateLinearFast(m_equity, m_margin, 10000000, 0.95, 3000000, 175, 0.5); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Profit, 66499.84788772937, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.When, 45.11288512405088, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[0], 0.7282109294652774, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[1], 6.031212361462828, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[2], 43.14954986809901, 0.001)); }
public void ValidateCalculateLinearFastDiscreteByEquity() { Portfolio portfolio = Portfolio.CalculateLinearFast(m_equity, 0.95, 1000000, 1); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Profit, 22100.7, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.When, 45.2474, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[0], 0, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[1], 2.07571, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[2], 14.2902, 0.001)); }
public void ValidateCalculateLinearDiscreteByEquity() { Portfolio portfolio = Portfolio.CalculateLinear(m_equity, 0.95, 2000000, 1); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Profit, 44355.3, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.When, 45.0904, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[0], 1.00003, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[1], 3.82186, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[2], 28.9476, 0.001)); }
public void ValidateCalculateLinearByEquity() { Portfolio portfolio = Portfolio.CalculateLinear(m_equity, 0.95, 2000000); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Profit, 44361.678434564674, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.When, 45.08395699716278, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[0], 0.8343726990339021, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[1], 3.8794446786429853, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(portfolio.Coefficients[2], 28.907356443934027, 0.001)); }
public void ValidateConfidenceInterval() { /* * Needs["HypothesisTesting`"]; * MeanCI[{10, 11, 12}, ConfidenceLevel -> 0.8] * {9.911337892096364, 12.088662107903636} */ double[] data = new double[] { 10, 11, 12 }; double level = 0.8; Interval interval = Statistics.CalculateConfidenceInterval(data, level); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(9.911337892096364, interval.Minimum)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(12.088662107903636, interval.Maximum)); }
public void CompareOneAndMultiplyAnalyses() { UnilateralTickCollection <int> bids = new UnilateralTickCollection <int>(s_bids); UnilateralTickCollection <int> asks = new UnilateralTickCollection <int>(s_asks); ResetTimeAnalyzer first = new ResetTimeAnalyzer(0.01, 1 / 60d, bids, asks, 1); ResetTimeAnalyzer second = new ResetTimeAnalyzer(0.01, 1 / 60d, bids, asks, 1); first.Process(s_buy, s_sell); second.Process(s_buy, s_sell); Assert.IsTrue(first.TakeProfit == second.TakeProfit); Assert.IsTrue(first.TimeFactor == second.TimeFactor); Assert.IsTrue(first.AverageTime == second.AverageTime); Assert.IsTrue(first.AverageLoss == second.AverageLoss); Assert.IsTrue(first.SigmaTime == second.SigmaTime); Assert.IsTrue(first.SigmaLoss == second.SigmaLoss); Assert.IsTrue(first.ResettingPercentage == second.ResettingPercentage); second.Process(s_buy, s_sell); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.TakeProfit, second.TakeProfit)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.TimeFactor, second.TimeFactor)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.AverageTime, second.AverageTime)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.AverageLoss, second.AverageLoss)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.SigmaTime, second.SigmaTime, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.SigmaLoss, second.SigmaLoss, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.ResettingPercentage, second.ResettingPercentage)); second.Process(s_buy, s_sell); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.TakeProfit, second.TakeProfit)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.TimeFactor, second.TimeFactor)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.AverageTime, second.AverageTime)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.AverageLoss, second.AverageLoss)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.SigmaTime, second.SigmaTime, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.SigmaLoss, second.SigmaLoss, 0.001)); Assert.IsTrue(NumericalMethods.IsApproximatelyEqual(first.ResettingPercentage, second.ResettingPercentage)); }