Overall Statistics |
Total Orders 6 Average Win 0.63% Average Loss -0.05% Compounding Annual Return 6.842% Drawdown 0.300% Expectancy 6.313 Start Equity 1000000 End Equity 1011434.84 Net Profit 1.143% Sharpe Ratio 3.074 Sortino Ratio 3.963 Probabilistic Sharpe Ratio 90.341% Loss Rate 50% Win Rate 50% Profit-Loss Ratio 13.63 Alpha 0.039 Beta -0.027 Annual Standard Deviation 0.012 Annual Variance 0 Information Ratio -0.171 Tracking Error 0.107 Treynor Ratio -1.397 Total Fees $9.12 Estimated Strategy Capacity $740000000.00 Lowest Capacity Asset MGC VOFJUCDY9XNH Portfolio Turnover 0.65% |
from AlgorithmImports import * from QuantConnect.DataSource import * class USFuturesDataAlgorithm(QCAlgorithm): def initialize(self) -> None: self.set_start_date(2013, 12, 20) self.set_end_date(2014, 2, 20) self.set_cash(1000000) self.universe_settings.asynchronous = True # Requesting data self.mini_gold = self.add_future(Futures.Metals.GOLD) self.mini_gold.set_filter(0, 90) self.micro_gold = self.add_future(Futures.Metals.MICRO_GOLD) self.micro_gold.set_filter(0, 90) self.contract = {self.mini_gold.symbol: None, self.micro_gold.symbol: None} def on_data(self, slice: Slice) -> None: for kvp in slice.future_chains: symbol = kvp.Key if symbol in self.contract: chain = kvp.Value # Select the contract with the greatest open interest most_liquid_contract = sorted(chain, key=lambda contract: contract.open_interest, reverse=True)[0] if self.contract[symbol] is None or most_liquid_contract.symbol != self.contract[symbol].symbol: if self.contract[symbol] is not None: self.liquidate(self.contract[symbol].symbol) self.contract[symbol] = most_liquid_contract if symbol == self.mini_gold.symbol: self.market_order(self.contract[symbol].symbol, 1) elif symbol == self.micro_gold.symbol: self.market_order(self.contract[symbol].symbol, -1) def on_securities_changed(self, changes: SecurityChanges) -> None: for security in changes.added_securities: # Historical data history = self.history(security.symbol, 10, Resolution.MINUTE) self.debug(f"We got {len(history)} from our history request for {security.symbol}")