Overall Statistics |
Total Orders 2 Average Win 0% Average Loss 0% Compounding Annual Return 436.573% Drawdown 37.200% Expectancy 0 Start Equity 1000000 End Equity 10026673.88 Net Profit 902.667% Sharpe Ratio 4.135 Sortino Ratio 6.201 Probabilistic Sharpe Ratio 93.526% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 3.001 Beta 0.5 Annual Standard Deviation 0.738 Annual Variance 0.545 Information Ratio 3.994 Tracking Error 0.738 Treynor Ratio 6.105 Total Fees $2717.09 Estimated Strategy Capacity $100000.00 Lowest Capacity Asset USDJPY 8G Portfolio Turnover 15.43% |
# region imports from AlgorithmImports import * # endregion class YenCarryTradeAlgorithm(QCAlgorithm): # 1) Borrow Yen # 2) Convert Yen for USD # 3) Buy interest-producing, "risk-free" asset with USD # profit = interest earned from (3) - interest paid for (1) def initialize(self): self.set_start_date(2023, 4, 1) self.set_end_date(2024, 8, 13) self.set_cash(1_000_000) # 1M usd = 141M Yen Jan 1 2024. for asset in [self.add_equity("BIL", Resolution.DAILY), self.add_forex("USDJPY", Resolution.DAILY)]: asset.set_leverage(100) asset.set_data_normalization_mode(DataNormalizationMode.RAW) self.schedule.on(self.date_rules.month_start(5), self.time_rules.at(10,00), self.trade) def trade(self): if not self.portfolio.invested: self.set_holdings("BIL", 50) self.set_holdings("USDJPY", 50) # deduct interest monthly interest = -self.portfolio.cash_book['JPY'].amount * (0.0025/12) self.portfolio.cash_book['JPY'].add_amount(interest)