Overall Statistics
Total Trades
28
Average Win
0%
Average Loss
0%
Compounding Annual Return
223.681%
Drawdown
35.500%
Expectancy
0
Net Profit
3321.792%
Sharpe Ratio
3.111
Probabilistic Sharpe Ratio
97.280%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0.538
Beta
0.543
Annual Standard Deviation
0.494
Annual Variance
0.244
Information Ratio
-0.657
Tracking Error
0.46
Treynor Ratio
2.83
Total Fees
$18.52
Estimated Strategy Capacity
$300000.00
Lowest Capacity Asset
BTCUSD E3
# region imports
from AlgorithmImports import *
# endregion

class CalmRedArmadillo(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2015, 1, 1)  # Set Start Date
        self.SetEndDate(2018, 1, 1)

        self.start_averaging_date = DateTime(2015,1,26)
        self.end_averageing_date = DateTime(2017,5,8)

        self.SetCash(10000)  # Set Strategy Cash
        self.monthly_buy = 330

        self.SetBrokerageModel(BrokerageName.Bitfinex,AccountType.Cash)
        self.btc = self.AddCrypto('BTCUSD',Resolution.Daily)

        #DCA Calendar
        self.Schedule.On(self.DateRules.MonthStart(), self.TimeRules.At(0,0), self.DcaIn)


    def DcaIn(self):
        self.current_date = self.Time.date()

        if self.current_date > self.end_averageing_date:
            return
        
        if self.current_date > self.start_averaging_date:
            self.qty = self.monthly_buy / self.btc.Open

            self.MarketOrder(self.btc.Symbol, self.qty)
            self.Log(f'Purchased a total of {self.qty}')
            self.Log(f'Left Over Portfolio Cash = {self.Portfolio.Cash}')