Compare commits

..

30 Commits
17455 ... 17372

Author SHA1 Message Date
Jhonathan Abreu
37f8b8c55b Minor change 2025-11-11 11:44:27 -04:00
Jhonathan Abreu
ee7b11cd90 Address peer review 2025-11-10 13:37:53 -04:00
Jhonathan Abreu
5f6627ca92 Minor test fixes 2025-11-07 13:34:47 -04:00
Jhonathan Abreu
f62b275a8a Fix to seed open interest data 2025-11-07 12:33:35 -04:00
Jhonathan Abreu
614a89d582 Minor fix and performance improvement 2025-11-07 10:20:15 -04:00
Jhonathan Abreu
d9a5da80fb Address peer review 2025-11-06 18:26:35 -04:00
Jhonathan Abreu
b5cb461e7d Minor test fix 2025-11-06 11:07:28 -04:00
Jhonathan Abreu
7c09024ad6 Cleanup 2025-11-06 10:04:52 -04:00
Jhonathan Abreu
9172d74e82 Update regression algorithms 2025-11-06 09:23:10 -04:00
Jhonathan Abreu
f418cd4cc9 More minor fixes 2025-11-06 08:52:49 -04:00
Jhonathan Abreu
af049241a1 Minor fix 2025-11-05 17:22:19 -04:00
Jhonathan Abreu
8d3a04defa Update regression algorithms 2025-11-05 17:10:43 -04:00
Jhonathan Abreu
7810d06607 Update regression algorithms and minor fixes 2025-11-05 15:45:47 -04:00
Jhonathan Abreu
5844dd0353 Cleanup 2025-11-04 17:11:23 -04:00
Jhonathan Abreu
95babff229 Some more cleanup 2025-11-04 13:56:24 -04:00
Jhonathan Abreu
9a8e93ccb6 More logic centralization 2025-11-04 13:16:43 -04:00
Jhonathan Abreu
04b2a38c8b Minor fixes 2025-11-04 11:22:37 -04:00
Jhonathan Abreu
8227415993 Minor build fix 2025-11-04 09:38:43 -04:00
Jhonathan Abreu
5b36d04f0e Some cleanup 2025-11-04 09:10:46 -04:00
Jhonathan Abreu
18b23402b1 Centralize logic to get last known data for multiple securities 2025-11-04 09:09:54 -04:00
Jhonathan Abreu
83326ed7b4 Address peer review 2025-11-04 09:09:54 -04:00
Jhonathan Abreu
08f77e93a9 Updated and add regression algorithms 2025-11-04 09:09:54 -04:00
Jhonathan Abreu
dd914d06ba Cleanup 2025-11-04 09:09:51 -04:00
Jhonathan Abreu
749cbe0243 Minro fixes 2025-11-04 09:08:59 -04:00
Jhonathan Abreu
ef1c6cff2b Minor fix 2025-11-04 09:08:59 -04:00
Jhonathan Abreu
accbfe05c0 Refactor default securities seeding 2025-11-04 09:08:59 -04:00
Jhonathan Abreu
1286294cb5 Update regression algorithms 2025-11-04 09:08:59 -04:00
Jhonathan Abreu
30c19e22a8 Update regression algorithms 2025-11-04 09:08:58 -04:00
Jhonathan Abreu
0678de396d Update regression algorithms 2025-11-04 09:08:55 -04:00
Jhonathan Abreu
64398abff3 Add SeedInitialPrices algorithm setting
This is true by default and indicates that the engine will seed initial prices right after the security is added or selected
2025-11-04 09:08:12 -04:00
854 changed files with 5790 additions and 28919 deletions

View File

@@ -28,9 +28,9 @@ jobs:
shell: bash
run: |
# install dependencies
pip3 install papermill==2.4.0 clr-loader==0.2.9
pip3 install papermill==2.4.0 clr-loader==0.1.6
# install kernel
dotnet tool install -g --no-cache --version 1.0.661703 --add-source "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" Microsoft.dotnet-interactive
dotnet tool install --global Microsoft.dotnet-interactive --version 1.0.607001
# Add dotnet tools to Path
export PATH="$HOME/.dotnet/tools:$PATH"
# activate kernel for jupyter

View File

@@ -77,7 +77,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -113,7 +113,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 15;
/// <summary>
/// Final status of the algorithm

View File

@@ -87,12 +87,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 26;
public long DataPoints => 24;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 13;
/// <summary>
/// Final status of the algorithm

View File

@@ -82,12 +82,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 25;
public long DataPoints => 24;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 22;
/// <summary>
/// Final status of the algorithm

View File

@@ -1,11 +1,11 @@
/*
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -107,7 +107,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 26;
public int AlgorithmHistoryDataPoints => 31;
/// <summary>
/// Final status of the algorithm

View File

@@ -107,7 +107,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 11;
public int AlgorithmHistoryDataPoints => 31;
/// <summary>
/// Final status of the algorithm

View File

@@ -120,7 +120,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 8;
/// <summary>
/// Final status of the algorithm
@@ -132,34 +132,34 @@ namespace QuantConnect.Algorithm.CSharp
/// </summary>
public Dictionary<string, string> ExpectedStatistics => new Dictionary<string, string>
{
{"Total Orders", "4"},
{"Total Orders", "3"},
{"Average Win", "0%"},
{"Average Loss", "-0.10%"},
{"Compounding Annual Return", "-14.232%"},
{"Drawdown", "0.200%"},
{"Average Loss", "-0.03%"},
{"Compounding Annual Return", "-2.594%"},
{"Drawdown", "0.000%"},
{"Expectancy", "-1"},
{"Start Equity", "100000"},
{"End Equity", "99803.9"},
{"Net Profit", "-0.196%"},
{"Sharpe Ratio", "-7.95"},
{"End Equity", "99966.4"},
{"Net Profit", "-0.034%"},
{"Sharpe Ratio", "-10.666"},
{"Sortino Ratio", "0"},
{"Probabilistic Sharpe Ratio", "1.216%"},
{"Loss Rate", "100%"},
{"Win Rate", "0%"},
{"Profit-Loss Ratio", "0"},
{"Alpha", "-0.128"},
{"Beta", "0.026"},
{"Annual Standard Deviation", "0.016"},
{"Alpha", "-0.029"},
{"Beta", "0.004"},
{"Annual Standard Deviation", "0.003"},
{"Annual Variance", "0"},
{"Information Ratio", "-1.186"},
{"Tracking Error", "0.237"},
{"Treynor Ratio", "-4.747"},
{"Information Ratio", "-0.768"},
{"Tracking Error", "0.241"},
{"Treynor Ratio", "-6.368"},
{"Total Fees", "$8.60"},
{"Estimated Strategy Capacity", "$2000.00"},
{"Lowest Capacity Asset", "ES VU1EHIDJYLMP"},
{"Portfolio Turnover", "66.50%"},
{"Estimated Strategy Capacity", "$5500000.00"},
{"Lowest Capacity Asset", "ES VMKLFZIH2MTD"},
{"Portfolio Turnover", "66.80%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "4720516462fcabb4db1aead46051cb4a"}
{"OrderListHash", "39f1e15c27212d8fdd58aeb7fb2b93cc"}
};
}
}

View File

@@ -169,7 +169,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 2;
public int AlgorithmHistoryDataPoints => 26;
/// <summary>
/// Final status of the algorithm

View File

@@ -98,7 +98,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 2;
public int AlgorithmHistoryDataPoints => 20;
/// <summary>
/// Final status of the algorithm
@@ -134,10 +134,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "68696.045"},
{"Total Fees", "$35.70"},
{"Estimated Strategy Capacity", "$2600000.00"},
{"Lowest Capacity Asset", "ES 31C3JQS9DCF1G|ES XCZJLC9NOB29"},
{"Lowest Capacity Asset", "ES 31C3JQS9D84PW|ES XCZJLC9NOB29"},
{"Portfolio Turnover", "495.15%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "af830085995d0b8fa0d33a6e80dd1241"}
{"OrderListHash", "85257286f088992d599c1ad0799a6237"}
};
}
}

View File

@@ -100,7 +100,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 7;
/// <summary>
/// Final status of the algorithm

View File

@@ -225,7 +225,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 28;
/// <summary>
/// Final status of the algorithm
@@ -240,31 +240,31 @@ namespace QuantConnect.Algorithm.CSharp
{"Total Orders", "2"},
{"Average Win", "0%"},
{"Average Loss", "0%"},
{"Compounding Annual Return", "430.834%"},
{"Drawdown", "4.200%"},
{"Compounding Annual Return", "309.669%"},
{"Drawdown", "0.900%"},
{"Expectancy", "0"},
{"Start Equity", "100000"},
{"End Equity", "102313.03"},
{"Net Profit", "2.313%"},
{"Sharpe Ratio", "17.721"},
{"End Equity", "101950.53"},
{"Net Profit", "1.951%"},
{"Sharpe Ratio", "15.402"},
{"Sortino Ratio", "0"},
{"Probabilistic Sharpe Ratio", "95.977%"},
{"Loss Rate", "0%"},
{"Win Rate", "0%"},
{"Profit-Loss Ratio", "0"},
{"Alpha", "2.663"},
{"Beta", "1.264"},
{"Annual Standard Deviation", "0.184"},
{"Annual Variance", "0.034"},
{"Information Ratio", "16.514"},
{"Tracking Error", "0.169"},
{"Treynor Ratio", "2.574"},
{"Alpha", "1.886"},
{"Beta", "1.066"},
{"Annual Standard Deviation", "0.155"},
{"Annual Variance", "0.024"},
{"Information Ratio", "13.528"},
{"Tracking Error", "0.142"},
{"Treynor Ratio", "2.237"},
{"Total Fees", "$3.57"},
{"Estimated Strategy Capacity", "$28000000.00"},
{"Lowest Capacity Asset", "ES XCZJLCA62LNO|ES XCZJLC9NOB29"},
{"Portfolio Turnover", "33.84%"},
{"Estimated Strategy Capacity", "$760000.00"},
{"Lowest Capacity Asset", "ES XCZJLDQX2SRO|ES XCZJLC9NOB29"},
{"Portfolio Turnover", "32.31%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "7c82013ecabca41591e0253a477025dd"}
{"OrderListHash", "7a04f66a30d793bf187c2695781ad3ee"}
};
}
}

View File

@@ -86,7 +86,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 1082;
/// <summary>
/// Final status of the algorithm

View File

@@ -117,12 +117,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 37598;
public long DataPoints => 37597;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 56;
/// <summary>
/// Final status of the algorithm
@@ -136,13 +136,13 @@ namespace QuantConnect.Algorithm.CSharp
{
{"Total Orders", "3"},
{"Average Win", "2.73%"},
{"Average Loss", "-2.98%"},
{"Compounding Annual Return", "-4.619%"},
{"Average Loss", "-2.96%"},
{"Compounding Annual Return", "-4.347%"},
{"Drawdown", "0.300%"},
{"Expectancy", "-0.042"},
{"Expectancy", "-0.039"},
{"Start Equity", "100000"},
{"End Equity", "99668"},
{"Net Profit", "-0.332%"},
{"End Equity", "99688"},
{"Net Profit", "-0.312%"},
{"Sharpe Ratio", "-4.614"},
{"Sortino Ratio", "0"},
{"Probabilistic Sharpe Ratio", "0.427%"},
@@ -157,11 +157,11 @@ namespace QuantConnect.Algorithm.CSharp
{"Tracking Error", "0.049"},
{"Treynor Ratio", "2.01"},
{"Total Fees", "$2.00"},
{"Estimated Strategy Capacity", "$5700000.00"},
{"Lowest Capacity Asset", "AOL VRKS95ENPM9Y|AOL R735QTJ8XC9X"},
{"Portfolio Turnover", "0.55%"},
{"Estimated Strategy Capacity", "$5600000.00"},
{"Lowest Capacity Asset", "AOL VRKS95ENLBYE|AOL R735QTJ8XC9X"},
{"Portfolio Turnover", "0.54%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "d314aef81752b6583fd58f9e49054cd4"}
{"OrderListHash", "22a002085b7ee6b5b11391ef0a86755e"}
};
}
}

View File

@@ -169,12 +169,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 5800;
public long DataPoints => 5798;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 2;
public int AlgorithmHistoryDataPoints => 18;
/// <summary>
/// Final status of the algorithm
@@ -210,10 +210,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0.335"},
{"Total Fees", "$2.00"},
{"Estimated Strategy Capacity", "$2800000.00"},
{"Lowest Capacity Asset", "AOL VRKS95ENPM9Y|AOL R735QTJ8XC9X"},
{"Lowest Capacity Asset", "AOL VRKS95ENLBYE|AOL R735QTJ8XC9X"},
{"Portfolio Turnover", "1.14%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "e33b98d8e94ed92d0441fc6fe0d461fb"}
{"OrderListHash", "90aa4bf345a6ba5ea2b0b14e32d1598f"}
};
}
}

View File

@@ -116,12 +116,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 3818;
public long DataPoints => 3814;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 35;
/// <summary>
/// Final status of the algorithm
@@ -157,10 +157,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$2.00"},
{"Estimated Strategy Capacity", "$5000000.00"},
{"Lowest Capacity Asset", "AAPL VXBK4R62H7S6|AAPL R735QTJ8XC9X"},
{"Lowest Capacity Asset", "AAPL VXBK4R62CXGM|AAPL R735QTJ8XC9X"},
{"Portfolio Turnover", "22.70%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "71511e4929377cd55fbf5e7e9555c248"}
{"OrderListHash", "29fd1b75f6db05dd823a6db7e8bd90a9"}
};
}
}

View File

@@ -96,12 +96,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 2349547;
public long DataPoints => 1658167;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 1806;
/// <summary>
/// Final status of the algorithm

View File

@@ -82,7 +82,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 170;
/// <summary>
/// Final status of the algorithm

View File

@@ -210,7 +210,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 93;
/// <summary>
/// Final status of the algorithm
@@ -246,10 +246,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$6.00"},
{"Estimated Strategy Capacity", "$4000.00"},
{"Lowest Capacity Asset", "GOOCV 305RBQ2BZGA4M|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV 305RBQ2BZBZT2|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "2.58%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "f418de0673fc166487daf80991dfe3a0"}
{"OrderListHash", "12037c87de17d6e62eadd99c70a0685e"}
};
}
}

View File

@@ -31,6 +31,8 @@ namespace QuantConnect.Algorithm.CSharp
/// </summary>
public override void Initialize()
{
Settings.SeedInitialPrices = false;
SetStartDate(2013, 10, 07); //Set Start Date
SetEndDate(2013, 10, 11); //Set End Date
SetCash(100000); //Set Strategy Cash
@@ -83,7 +85,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 15042;
public long DataPoints => 11202;
/// <summary>
/// Data Points count of the algorithm history

View File

@@ -110,12 +110,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 7065;
public long DataPoints => 7063;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 30;
/// <summary>
/// Final status of the algorithm

View File

@@ -67,7 +67,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -101,12 +101,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 1579;
public long DataPoints => 1578;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 1;
public int AlgorithmHistoryDataPoints => 15;
/// <summary>
/// Final status of the algorithm
@@ -142,10 +142,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$2.00"},
{"Estimated Strategy Capacity", "$6200000.00"},
{"Lowest Capacity Asset", "AAPL VXBK4QA5IWKM|AAPL R735QTJ8XC9X"},
{"Lowest Capacity Asset", "AAPL VXBK4QA5EM92|AAPL R735QTJ8XC9X"},
{"Portfolio Turnover", "90.27%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "a332b93ff5e2dfe89258c450a64c7125"}
{"OrderListHash", "a111609c2c64554268539b5798e5b31f"}
};
}
}

View File

@@ -86,7 +86,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 15;
/// <summary>
/// Final status of the algorithm

View File

@@ -97,7 +97,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 20;
/// <summary>
/// Final status of the algorithm

View File

@@ -161,7 +161,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 50;
/// <summary>
/// Final status of the algorithm

View File

@@ -243,7 +243,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 66;
/// <summary>
/// Final status of the algorithm

View File

@@ -81,7 +81,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 100;
public int AlgorithmHistoryDataPoints => 105;
/// <summary>
/// Final status of the algorithm

View File

@@ -38,7 +38,7 @@ namespace QuantConnect.Algorithm.CSharp
SetEndDate(2013, 10, 10);
var SP500 = QuantConnect.Symbol.Create(Futures.Indices.SP500EMini, SecurityType.Future, Market.CME);
_symbol = FuturesChain(SP500).OrderBy(x => x.Symbol.ID.Date).First();
_symbol = FuturesChain(SP500).First();
// Test case: custom IndicatorBase<QuoteBar> indicator using Future unsubscribed symbol
var indicator1 = new CustomIndicator();
@@ -151,7 +151,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 85;
public int AlgorithmHistoryDataPoints => 109;
/// <summary>
/// Final status of the algorithm

View File

@@ -82,7 +82,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 18;
public int AlgorithmHistoryDataPoints => 87;
/// <summary>
/// Final status of the algorithm

View File

@@ -113,7 +113,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 40;
public int AlgorithmHistoryDataPoints => 50;
/// <summary>
/// Final status of the algorithm

View File

@@ -119,12 +119,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 126222;
public long DataPoints => 126221;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 100;
/// <summary>
/// Final status of the algorithm

View File

@@ -111,7 +111,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -301,7 +301,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 198;
/// <summary>
/// Final status of the algorithm
@@ -340,7 +340,7 @@ namespace QuantConnect.Algorithm.CSharp
{"Lowest Capacity Asset", "GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "17.02%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "1be5073f2cf8802ffa163f7dab7d040e"}
{"OrderListHash", "a7ce5ff2bbe0fe273cf1631ea5a73fa6"}
};
}
}

View File

@@ -80,7 +80,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -74,7 +74,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -122,7 +122,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 888;
/// <summary>
/// Final status of the algorithm

View File

@@ -128,7 +128,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 593;
/// <summary>
/// Final status of the algorithm

View File

@@ -202,7 +202,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 35;
public int AlgorithmHistoryDataPoints => 45;
/// <summary>
/// Final status of the algorithm

View File

@@ -238,7 +238,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 15;
/// <summary>
/// Final status of the algorithm

View File

@@ -201,7 +201,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 11;
/// <summary>
/// Final status of the algorithm

View File

@@ -71,7 +71,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 5;
/// <summary>
/// Final status of the algorithm

View File

@@ -58,9 +58,6 @@ namespace QuantConnect.Algorithm.CSharp
var benchmark = AddIndex("SX5E");
SetBenchmark(benchmark.Symbol);
var seeder = new FuncSecuritySeeder(GetLastKnownPrices);
SetSecurityInitializer(security => seeder.SeedSecurity(security));
}
public override void OnData(Slice slice)

View File

@@ -92,7 +92,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -181,7 +181,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 2;
public int AlgorithmHistoryDataPoints => 15;
/// <summary>
/// Final status of the algorithm

View File

@@ -63,9 +63,6 @@ namespace QuantConnect.Algorithm.CSharp
var benchmark = AddEquity("SPY");
SetBenchmark(benchmark.Symbol);
var seeder = new FuncSecuritySeeder(GetLastKnownPrices);
SetSecurityInitializer(security => seeder.SeedSecurity(security));
}
/// <summary>
@@ -154,7 +151,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 354;
public int AlgorithmHistoryDataPoints => 398;
/// <summary>
/// Final status of the algorithm

View File

@@ -127,12 +127,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public virtual long DataPoints => 5867;
public virtual long DataPoints => 5861;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public virtual int AlgorithmHistoryDataPoints => 0;
public virtual int AlgorithmHistoryDataPoints => 59;
/// <summary>
/// Final status of the algorithm
@@ -144,34 +144,34 @@ namespace QuantConnect.Algorithm.CSharp
/// </summary>
public virtual Dictionary<string, string> ExpectedStatistics => new Dictionary<string, string>
{
{"Total Orders", "38"},
{"Total Orders", "34"},
{"Average Win", "0.33%"},
{"Average Loss", "-0.03%"},
{"Compounding Annual Return", "0.098%"},
{"Average Loss", "-0.04%"},
{"Compounding Annual Return", "0.106%"},
{"Drawdown", "0.300%"},
{"Expectancy", "0.165"},
{"Expectancy", "0.178"},
{"Start Equity", "1000000"},
{"End Equity", "1000991.96"},
{"Net Profit", "0.099%"},
{"Sharpe Ratio", "-1.708"},
{"Sortino Ratio", "-0.84"},
{"Probabilistic Sharpe Ratio", "14.542%"},
{"Loss Rate", "89%"},
{"Win Rate", "11%"},
{"Profit-Loss Ratio", "10.07"},
{"End Equity", "1001066.2"},
{"Net Profit", "0.107%"},
{"Sharpe Ratio", "-1.695"},
{"Sortino Ratio", "-0.804"},
{"Probabilistic Sharpe Ratio", "14.797%"},
{"Loss Rate", "88%"},
{"Win Rate", "12%"},
{"Profit-Loss Ratio", "9.01"},
{"Alpha", "-0.007"},
{"Beta", "0.002"},
{"Annual Standard Deviation", "0.004"},
{"Annual Variance", "0"},
{"Information Ratio", "-1.354"},
{"Information Ratio", "-1.353"},
{"Tracking Error", "0.089"},
{"Treynor Ratio", "-4.054"},
{"Total Fees", "$85.54"},
{"Treynor Ratio", "-4.112"},
{"Total Fees", "$76.30"},
{"Estimated Strategy Capacity", "$0"},
{"Lowest Capacity Asset", "ES VRJST036ZY0X"},
{"Portfolio Turnover", "1.04%"},
{"Portfolio Turnover", "0.92%"},
{"Drawdown Recovery", "69"},
{"OrderListHash", "eafc33ea4dcb219f7aacdbdd0973d5bc"}
{"OrderListHash", "ddaa9dd20647fdbc4811d6e64bb30a40"}
};
}
}

View File

@@ -141,7 +141,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public virtual int AlgorithmHistoryDataPoints => 0;
public virtual int AlgorithmHistoryDataPoints => 132;
/// <summary>
/// Final status of the algorithm

View File

@@ -43,6 +43,11 @@ namespace QuantConnect.Algorithm.CSharp
/// </summary>
public override long DataPoints => 70262;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 103;
/// <summary>
/// This is used by the regression test system to indicate what the expected statistics are from running the algorithm
/// </summary>

View File

@@ -145,7 +145,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public virtual int AlgorithmHistoryDataPoints => 6075;
public virtual int AlgorithmHistoryDataPoints => 6463;
/// <summary>
/// Final status of the algorithm

View File

@@ -52,7 +52,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 6112;
public override int AlgorithmHistoryDataPoints => 6712;
/// <summary>
/// Final status of the algorithm

View File

@@ -36,7 +36,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public override long DataPoints => 25339;
public override long DataPoints => 25312;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 134;
/// <summary>
/// This is used by the regression test system to indicate what the expected statistics are from running the algorithm
@@ -70,7 +75,7 @@ namespace QuantConnect.Algorithm.CSharp
{"Lowest Capacity Asset", "ES VP274HSU1AF5"},
{"Portfolio Turnover", "20.14%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "c301a0a086f8905b1a555f0257087272"}
{"OrderListHash", "f6482c8757f82cb9f4c058e3ed6bc494"}
};
}
}

View File

@@ -63,9 +63,6 @@ namespace QuantConnect.Algorithm.CSharp
var benchmark = AddEquity("SPY");
SetBenchmark(benchmark.Symbol);
var seeder = new FuncSecuritySeeder(GetLastKnownPrices);
SetSecurityInitializer(security => seeder.SeedSecurity(security));
}
/// <summary>
@@ -154,7 +151,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 354;
public int AlgorithmHistoryDataPoints => 610;
/// <summary>
/// Final status of the algorithm

View File

@@ -36,41 +36,41 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public override long DataPoints => 5971;
public override long DataPoints => 5965;
/// <summary>
/// This is used by the regression test system to indicate what the expected statistics are from running the algorithm
/// </summary>
public override Dictionary<string, string> ExpectedStatistics => new Dictionary<string, string>
{
{"Total Orders", "36"},
{"Total Orders", "32"},
{"Average Win", "0.33%"},
{"Average Loss", "-0.03%"},
{"Compounding Annual Return", "0.103%"},
{"Average Loss", "-0.04%"},
{"Compounding Annual Return", "0.110%"},
{"Drawdown", "0.300%"},
{"Expectancy", "0.172"},
{"Expectancy", "0.184"},
{"Start Equity", "1000000"},
{"End Equity", "1001033.76"},
{"Net Profit", "0.103%"},
{"Sharpe Ratio", "-1.701"},
{"Sortino Ratio", "-0.809"},
{"Probabilistic Sharpe Ratio", "14.685%"},
{"Loss Rate", "89%"},
{"Win Rate", "11%"},
{"Profit-Loss Ratio", "9.55"},
{"End Equity", "1001108"},
{"Net Profit", "0.111%"},
{"Sharpe Ratio", "-1.688"},
{"Sortino Ratio", "-0.772"},
{"Probabilistic Sharpe Ratio", "14.944%"},
{"Loss Rate", "88%"},
{"Win Rate", "12%"},
{"Profit-Loss Ratio", "8.47"},
{"Alpha", "-0.007"},
{"Beta", "0.002"},
{"Annual Standard Deviation", "0.004"},
{"Annual Variance", "0"},
{"Information Ratio", "-1.353"},
{"Tracking Error", "0.089"},
{"Treynor Ratio", "-4.042"},
{"Total Fees", "$81.24"},
{"Treynor Ratio", "-4.099"},
{"Total Fees", "$72.00"},
{"Estimated Strategy Capacity", "$0"},
{"Lowest Capacity Asset", "ES VRJST036ZY0X"},
{"Portfolio Turnover", "0.99%"},
{"Portfolio Turnover", "0.87%"},
{"Drawdown Recovery", "69"},
{"OrderListHash", "67120ad5c9a6116001dda6c8061e5353"}
{"OrderListHash", "741a26424d2210171ad849d92fc75d23"}
};
}
}

View File

@@ -41,7 +41,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public override long DataPoints => 67998;
public override long DataPoints => 67924;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 214;
/// <summary>
/// This is used by the regression test system to indicate what the expected statistics are from running the algorithm

View File

@@ -80,7 +80,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 5;
/// <summary>
/// Final status of the algorithm

View File

@@ -132,7 +132,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public virtual int AlgorithmHistoryDataPoints => 0;
public virtual int AlgorithmHistoryDataPoints => 2;
/// <summary>
/// Final status of the algorithm
@@ -168,10 +168,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-1.771"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$3000.00"},
{"Lowest Capacity Asset", "SPX XL80P3GHIA9A|SPX 31"},
{"Lowest Capacity Asset", "SPX XL80P3GHDZXQ|SPX 31"},
{"Portfolio Turnover", "23.97%"},
{"Drawdown Recovery", "9"},
{"OrderListHash", "4b560d2a8cfae510c3c8dc92603470fc"}
{"OrderListHash", "51f1bc2ea080df79748dc66c2520b782"}
};
}
}

View File

@@ -147,10 +147,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-6.937"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$0"},
{"Lowest Capacity Asset", "SPX XL80P3GHIA9A|SPX 31"},
{"Lowest Capacity Asset", "SPX XL80P3GHDZXQ|SPX 31"},
{"Portfolio Turnover", "2.42%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "ce421d0aeb7bde3bc92a6b87c09c510e"}
{"OrderListHash", "61e8517ac3da6bed414ef23d26736fef"}
};
}
}

View File

@@ -64,10 +64,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-6.189"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$300000.00"},
{"Lowest Capacity Asset", "SPX XL80P3GHIA9A|SPX 31"},
{"Lowest Capacity Asset", "SPX XL80P3GHDZXQ|SPX 31"},
{"Portfolio Turnover", "24.63%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "7bc05310e971f09b0663bc380fdfee80"}
{"OrderListHash", "5595ab834c2584c1d124ad575e88cc1a"}
};
}
}

View File

@@ -108,10 +108,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-44.954"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$0"},
{"Lowest Capacity Asset", "SPX XL80P59H9OI6|SPX 31"},
{"Lowest Capacity Asset", "SPX XL80P59H5E6M|SPX 31"},
{"Portfolio Turnover", "0.00%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "34d295b82e29b1dbe8f104d3300d9255"}
{"OrderListHash", "8340619d603921c1ce261287890b9c1c"}
};
}
}

View File

@@ -79,10 +79,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "116.921"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$0"},
{"Lowest Capacity Asset", "SPX XL80P59H9OI6|SPX 31"},
{"Lowest Capacity Asset", "SPX XL80P59H5E6M|SPX 31"},
{"Portfolio Turnover", "0.00%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "214026660a13ecaecc7074fa97f86ea1"}
{"OrderListHash", "1c5f424cfe62777733ee68a20320bb8d"}
};
}
}

View File

@@ -114,7 +114,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 9;
/// <summary>
/// Final status of the algorithm

View File

@@ -44,7 +44,7 @@ namespace QuantConnect.Algorithm.CSharp
_optionSymbol = option.Symbol;
// set our strike/expiry filter for this option chain
option.SetFilter(u => u.StandardsOnly().Strikes(-2, +2)
option.SetFilter(u => u.Strikes(-2, +2)
// Expiration method accepts TimeSpan objects or integer for days.
// The following statements yield the same filtering criteria
.Expiration(0, 180));
@@ -73,7 +73,7 @@ namespace QuantConnect.Algorithm.CSharp
var higherStrike = callContracts[2].Strike;
var optionStrategy = OptionStrategies.CallButterfly(_optionSymbol, higherStrike, middleStrike, lowerStrike, expiry);
Order(optionStrategy, 10);
}
}
@@ -107,7 +107,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -143,10 +143,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$26.00"},
{"Estimated Strategy Capacity", "$69000.00"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAT67A|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAOVVQ|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "61.31%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "ccd6cb1b6244d0c6d30b2760938958f1"}
{"OrderListHash", "35d406df401e5b27244e20f5ec57346e"}
};
}
}

View File

@@ -50,9 +50,8 @@ namespace QuantConnect.Algorithm.CSharp
// set our strike/expiry filter for this option chain
// SetFilter method accepts TimeSpan objects or integer for days.
// The following statements yield the same filtering criteria
option.SetFilter(u => u.StandardsOnly()
.Strikes(-2, +2)
.Expiration(0, 180));
option.SetFilter(-2, +2, 0, 180);
// option.SetFilter(-2, +2, TimeSpan.Zero, TimeSpan.FromDays(180));
// Adding this to reproduce GH issue #2314
SetWarmup(TimeSpan.FromMinutes(1));
@@ -84,7 +83,7 @@ namespace QuantConnect.Algorithm.CSharp
Liquidate();
}
foreach (var kpv in slice.Bars)
foreach(var kpv in slice.Bars)
{
Log($"---> OnData: {Time}, {kpv.Key.Value}, {kpv.Value.Close:0.00}");
}
@@ -118,7 +117,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -154,10 +153,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$543.40"},
{"Estimated Strategy Capacity", "$4000.00"},
{"Lowest Capacity Asset", "GOOCV W78ZFMEBFLDY|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV W78ZFMEBBB2E|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "338.60%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "8229716b93428dc885cf856b4cc9fc35"}
{"OrderListHash", "301c15063f6e269023d144ca69a765da"}
};
}
}

View File

@@ -48,10 +48,11 @@ namespace QuantConnect.Algorithm.CSharp
_optionSymbol = option.Symbol;
// set our strike/expiry filter for this option chain
option.SetFilter(u => u.StandardsOnly().Strikes(-2, +2)
option.SetFilter(u => u.Strikes(-2, +2)
// Expiration method accepts TimeSpan objects or integer for days.
// The following statements yield the same filtering criteria
.Expiration(0, 180)); // .Expiration(TimeSpan.Zero, TimeSpan.FromDays(180)));
.Expiration(0, 180));
// .Expiration(TimeSpan.Zero, TimeSpan.FromDays(180)));
// use the underlying equity as the benchmark
SetBenchmark(equity.Symbol);
@@ -113,7 +114,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -149,10 +150,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$2.00"},
{"Estimated Strategy Capacity", "$1300000.00"},
{"Lowest Capacity Asset", "GOOCV 30AKMEIPOX2DI|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV 30AKMEIPOSS1Y|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "10.71%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "19ba1220073493495880581b38df2da9"}
{"OrderListHash", "8a36462ee0349c04d01d464e592dd347"}
};
}
}

View File

@@ -107,7 +107,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -127,7 +127,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 115;
/// <summary>
/// Final status of the algorithm
@@ -163,10 +163,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-3.212"},
{"Total Fees", "$1.00"},
{"Estimated Strategy Capacity", "$72000.00"},
{"Lowest Capacity Asset", "AAPL W78ZEO29CFS6|AAPL R735QTJ8XC9X"},
{"Lowest Capacity Asset", "AAPL W78ZEO2985GM|AAPL R735QTJ8XC9X"},
{"Portfolio Turnover", "0.02%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "5639c19a7d56ec312f61029b943903b8"}
{"OrderListHash", "5e20fad3461ac9998afe8d76ad43b25c"}
};
}
}

View File

@@ -104,7 +104,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 160;
/// <summary>
/// Final status of the algorithm
@@ -143,7 +143,7 @@ namespace QuantConnect.Algorithm.CSharp
{"Lowest Capacity Asset", "GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "15.08%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "c53bc9318676161ed3b7797c945e2113"}
{"OrderListHash", "f68f6d64a5721ee148bc3c643f8d1b7f"}
};
}
}

View File

@@ -139,12 +139,12 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of all timeslices of algorithm
/// </summary>
public long DataPoints => 17487;
public long DataPoints => 17486;
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 12;
/// <summary>
/// Final status of the algorithm
@@ -183,7 +183,7 @@ namespace QuantConnect.Algorithm.CSharp
{"Lowest Capacity Asset", "AAPL R735QTJ8XC9X"},
{"Portfolio Turnover", "13.50%"},
{"Drawdown Recovery", "2"},
{"OrderListHash", "2ab4ffc0944a2888a3be0568c2570a79"}
{"OrderListHash", "d40c84371facba5dac8a2c919ea75807"}
};
}
}

View File

@@ -48,7 +48,7 @@ namespace QuantConnect.Algorithm.CSharp
_optionSymbol = option.Symbol;
// set our strike/expiry filter for this option chain
option.SetFilter(u => u.StandardsOnly().Strikes(-2, +2)
option.SetFilter(u => u.Strikes(-2, +2)
// Expiration method accepts TimeSpan objects or integer for days.
// The following statements yield the same filtering criteria
.Expiration(0, 180));
@@ -114,7 +114,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 21;
/// <summary>
/// Final status of the algorithm
@@ -150,10 +150,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "1.434"},
{"Total Fees", "$4.00"},
{"Estimated Strategy Capacity", "$1000.00"},
{"Lowest Capacity Asset", "AAPL 2ZTXYMUAHGSME|AAPL R735QTJ8XC9X"},
{"Lowest Capacity Asset", "AAPL 2ZTXYMUAHCIAU|AAPL R735QTJ8XC9X"},
{"Portfolio Turnover", "2.28%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "70bbc60c969f18e943e8e00cf0f7a0ea"}
{"OrderListHash", "7804b3dcf20d3096a2265a289fa81cd3"}
};
}
}

View File

@@ -108,7 +108,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public virtual int AlgorithmHistoryDataPoints => 0;
public virtual int AlgorithmHistoryDataPoints => 2;
/// <summary>
/// Final status of the algorithm
@@ -144,10 +144,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-0.725"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$580000.00"},
{"Lowest Capacity Asset", "SPXW 31K54PVWHYTTA|SPX 31"},
{"Lowest Capacity Asset", "SPXW 31K54PVWHUJHQ|SPX 31"},
{"Portfolio Turnover", "0.40%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "03148bbb5453fc1056a3285bd31ce158"}
{"OrderListHash", "db5e3681c5fa1888262f2370a9b14c11"}
};
}
}

View File

@@ -150,10 +150,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0.589"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$13000000.00"},
{"Lowest Capacity Asset", "SPXW XKX6S2GMDZSE|SPX 31"},
{"Lowest Capacity Asset", "SPXW XKX6S2GM9PGU|SPX 31"},
{"Portfolio Turnover", "0.28%"},
{"Drawdown Recovery", "2"},
{"OrderListHash", "9d03f85003416861df07ccb31a18af9a"}
{"OrderListHash", "17764ae9e216d003b1f3ce68d15b68ef"}
};
}
}

View File

@@ -87,10 +87,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "-1.771"},
{"Total Fees", "$0.00"},
{"Estimated Strategy Capacity", "$3000.00"},
{"Lowest Capacity Asset", "SPX XL80P3GHIA9A|SPX 31"},
{"Lowest Capacity Asset", "SPX XL80P3GHDZXQ|SPX 31"},
{"Portfolio Turnover", "24.03%"},
{"Drawdown Recovery", "9"},
{"OrderListHash", "691cf4990024b856a0a70255c9fd2545"}
{"OrderListHash", "fcd6fddb0a315e21095c2b35eb633e2b"}
};
}
}

View File

@@ -81,7 +81,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 256;
public int AlgorithmHistoryDataPoints => 296;
/// <summary>
/// Final status of the algorithm

View File

@@ -226,7 +226,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 10;
public int AlgorithmHistoryDataPoints => 213;
/// <summary>
/// Final status of the algorithm

View File

@@ -79,7 +79,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 50;
/// <summary>
/// Final status of the algorithm

View File

@@ -38,5 +38,10 @@ namespace QuantConnect.Algorithm.CSharp
throw new RegressionTestException($"All RangeBar's should have non-zero volume, but this doesn't");
}
}
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 26;
}
}

View File

@@ -120,7 +120,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 5;
/// <summary>
/// Final status of the algorithm

View File

@@ -114,7 +114,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 7;
/// <summary>
/// Final status of the algorithm

View File

@@ -164,7 +164,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 18;
/// <summary>
/// Final status of the algorithm

View File

@@ -211,7 +211,7 @@ namespace QuantConnect.Algorithm.CSharp
{"Lowest Capacity Asset", "AOL R735QTJ8XC9X"},
{"Portfolio Turnover", "17.64%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "228e694280e05c8aa24246a5866b5a83"}
{"OrderListHash", "a8605c1f5a9c67f60f1ddc963ec45542"}
};
}
}

View File

@@ -116,7 +116,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 25;
/// <summary>
/// Final status of the algorithm

View File

@@ -123,7 +123,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 40;
/// <summary>
/// Final status of the algorithm

View File

@@ -97,7 +97,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -104,7 +104,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 6;
public int AlgorithmHistoryDataPoints => 36;
/// <summary>
/// Final status of the algorithm

View File

@@ -43,7 +43,6 @@ namespace QuantConnect.Algorithm.CSharp
SetEndDate(2015, 03, 01);
SetCash(100000);
Settings.SeedInitialPrices = true;
UniverseSettings.Resolution = Resolution.Daily;
AddUniverse((coarse) =>

View File

@@ -153,7 +153,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 50;
public int AlgorithmHistoryDataPoints => 60;
/// <summary>
/// Final status of the algorithm

View File

@@ -176,7 +176,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 50;
public int AlgorithmHistoryDataPoints => 60;
/// <summary>
/// Final status of the algorithm

View File

@@ -85,7 +85,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 0;
public override int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -121,10 +121,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$26.00"},
{"Estimated Strategy Capacity", "$58000.00"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAT67A|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAOVVQ|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "30.22%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "6168ffaa5b9f3c389f5da52e90455889"}
{"OrderListHash", "ab6171073cd96df46fd9d7bce62f5594"}
};
}
}

View File

@@ -151,7 +151,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 0;
public override int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -187,10 +187,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$52.00"},
{"Estimated Strategy Capacity", "$5000.00"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAT67A|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAOVVQ|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "60.91%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "7daf3d43bef2b023ab26517085840c0e"}
{"OrderListHash", "100742aeee45101940dc60e26fa1aa39"}
};
}
}

View File

@@ -57,7 +57,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public override int AlgorithmHistoryDataPoints => 0;
public override int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -93,10 +93,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$26.00"},
{"Estimated Strategy Capacity", "$69000.00"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAT67A|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAOVVQ|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "30.35%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "0b9f42bc22c9c7c382bc57a64c99f7e5"}
{"OrderListHash", "615c795b0c450cb8e4c3cba803ebb180"}
};
}
}

View File

@@ -58,7 +58,7 @@ namespace QuantConnect.Algorithm.CSharp
var option = AddOption(equity.Symbol, fillForward: true);
_optionSymbol = option.Symbol;
option.SetFilter(u => u.StandardsOnly().Strikes(-2, +2)
option.SetFilter(u => u.Strikes(-2, +2)
.Expiration(0, 180));
}

View File

@@ -47,7 +47,7 @@ namespace QuantConnect.Algorithm.CSharp
var option = AddOption(equity.Symbol, fillForward: true);
_optionSymbol = option.Symbol;
option.SetFilter(u => u.StandardsOnly().Strikes(-2, +2)
option.SetFilter(u => u.Strikes(-2, +2)
.Expiration(0, 180));
}
@@ -243,7 +243,8 @@ namespace QuantConnect.Algorithm.CSharp
}
if (orderEvent.Quantity != order.Quantity)
{
throw new RegressionTestException($@"OrderEvent quantity should hold the current order Quantity. Got {orderEvent.Quantity}, expected {order.Quantity}");
throw new RegressionTestException($@"OrderEvent quantity should hold the current order Quantity. Got {orderEvent.Quantity
}, expected {order.Quantity}");
}
if (order is ComboLegLimitOrder && orderEvent.LimitPrice == 0)
{
@@ -302,7 +303,8 @@ namespace QuantConnect.Algorithm.CSharp
{
throw new RegressionTestException(
"There were expected 6 filled market orders, 3 filled combo limit orders and 6 filled combo leg limit orders, " +
$@"but there were {filledComboMarketOrders.Count} filled market orders, {filledComboLimitOrders.Count} filled combo limit orders and {filledComboLegLimitOrders.Count} filled combo leg limit orders");
$@"but there were {filledComboMarketOrders.Count} filled market orders, {filledComboLimitOrders.Count
} filled combo limit orders and {filledComboLegLimitOrders.Count} filled combo leg limit orders");
}
if (openOrders.Count != 0 || openOrderTickets.Count != 0)
@@ -334,7 +336,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 135;
/// <summary>
/// Final status of the algorithm
@@ -370,10 +372,10 @@ namespace QuantConnect.Algorithm.CSharp
{"Treynor Ratio", "0"},
{"Total Fees", "$26.00"},
{"Estimated Strategy Capacity", "$2000.00"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAT67A|GOOCV VP83T1ZUHROL"},
{"Lowest Capacity Asset", "GOOCV W78ZERHAOVVQ|GOOCV VP83T1ZUHROL"},
{"Portfolio Turnover", "58.98%"},
{"Drawdown Recovery", "0"},
{"OrderListHash", "bec09c16bbc4d87a4e5122f29dd5a38b"}
{"OrderListHash", "e69460f62d4c165fe4b4a9bff1f48962"}
};
}
}

View File

@@ -124,7 +124,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -162,7 +162,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -74,7 +74,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 208;
public int AlgorithmHistoryDataPoints => 248;
/// <summary>
/// Final status of the algorithm

View File

@@ -87,7 +87,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 50;
/// <summary>
/// Final status of the algorithm

View File

@@ -68,7 +68,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -81,7 +81,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 10;
/// <summary>
/// Final status of the algorithm

View File

@@ -124,7 +124,7 @@ namespace QuantConnect.Algorithm.CSharp
/// <summary>
/// Data Points count of the algorithm history
/// </summary>
public int AlgorithmHistoryDataPoints => 0;
public int AlgorithmHistoryDataPoints => 26;
/// <summary>
/// Final status of the algorithm

Some files were not shown because too many files have changed in this diff Show More