| Overall Statistics |
|
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset Portfolio Turnover 0% |
# region imports
from AlgorithmImports import *
# endregion
import datetime as dt
class Test(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2023, 11, 7)
self.SetEndDate(2023, 11, 11)
self.SetCash(100000)
self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Margin)
self.AddEquity('SPY', Resolution.Daily)
self.Schedule.On(self.DateRules.EveryDay('SPY'), self.TimeRules.AfterMarketOpen('SPY', -10), self.__BeforeOpen)
self.RemoveSecurity('SPY')
self.UniverseSettings.Resolution = Resolution.Minute
self.AddUniverse(self.__SelectCoarse, self.__SelectFine)
self.count = 0
def OnEndOfAlgorithm(self):
self.AddEquity('MSFT', Resolution.Daily)
BarList = self.History[TradeBar](self.Symbol('MSFT'), dt.datetime(2023,11,7), self.Time, Resolution.Daily)
for bar in BarList:
self.Debug('{:s}: Open = {:.4f}'.format(bar.Time.strftime('%m-%d-%Y %H:%M'), bar.Open))
def __BeforeOpen(self):
for sym in self.ActiveSecurities.Keys:
if self.count == 0:
self. count += 1
self.Debug('{:s}: MarketOnOpenOrder for 100 shares of {:s}'.format(self.Time.strftime('%m-%d-%Y %H:%M'), sym.Value))
ticket = self.MarketOnOpenOrder(sym, 100)
def OnOrderEvent(self, orderEvent: OrderEvent):
self.Debug('{:s} OnOrdrEvent: Symbol={:s}, filled={:.2f} for ${:.4f} per share'.format(self.Time.strftime('%m-%d-%Y %H:%M'), orderEvent.Symbol.Value, orderEvent.FillQuantity, orderEvent.FillPrice))
def __SelectCoarse(self, coarse: List[CoarseFundamental]) -> List[Symbol]:
if self.count == 0:
C = [c.Symbol for c in coarse if c.Symbol.Value == 'MSFT']
else:
C = []
return C
def __SelectFine(self, fine: List[FineFundamental]) -> List[Symbol]:
List = [f.Symbol for f in fine]
return List