Overall Statistics
Total Trades
53
Average Win
9.86%
Average Loss
-8.71%
Compounding Annual Return
1.304%
Drawdown
37.800%
Expectancy
0.106
Net Profit
5.322%
Sharpe Ratio
0.155
Probabilistic Sharpe Ratio
1.937%
Loss Rate
48%
Win Rate
52%
Profit-Loss Ratio
1.13
Alpha
0.018
Beta
0.135
Annual Standard Deviation
0.234
Annual Variance
0.055
Information Ratio
-0.357
Tracking Error
0.276
Treynor Ratio
0.27
Total Fees
$53.00
Estimated Strategy Capacity
$610000000.00
Lowest Capacity Asset
TSLA UNU3P8Y3WFAD
# region imports
from AlgorithmImports import *
from datetime import timedelta
# endregion

class CasualYellowAnguilline(QCAlgorithm):
    def Initialize(self):
        self.SetStartDate(2018,1,1)
        self.SetEndDate(2022,1,1)
        self.SetCash(50000)
        tsla= self.AddEquity("TSLA", Resolution.Daily)
        tsla.SetDataNormalizationMode(DataNormalizationMode.Raw)
        self.tsla=tsla.Symbol
        self.SetBenchmark("SPY")
        self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage,AccountType.Margin)
        self.EntryPrice=0
        self.Period= timedelta(31)
        self.nextEntryTime=self.Time
    
    def OnData(self,data):
        if not self.tsla in data:
            return
        price= self.Securities[self.tsla].Close
        if not self.Portfolio.Invested:
            if self.nextEntryTime <= self.Time:
                self.MarketOrder(self.tsla, 200)
                self.Log("BUY TSLA @"+ str(price))
                self.EntryPrice= price
        elif self.EntryPrice *1.05 <price or self.EntryPrice*0.95 > price:
                self.Liquidate(self.tsla)
                self.Log("SELL TSLA @"+ str(price))
                self.nextEntryTime= self.Time+self.Period