Overall Statistics
Total Orders
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Start Equity
100000
End Equity
100000
Net Profit
0%
Sharpe Ratio
0
Sortino 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

class BasicTemplateAlgorithm(QCAlgorithm):

    def initialize(self):
        self.set_start_date(2023, 7, 6)

        self.add_index("HSI", Resolution.MINUTE, market=Market.HKFE)
        future = self.add_future(Futures.Indices.HangSeng,
                                extended_market_hours=True)
        future.set_filter(timedelta(0), timedelta(180))
        self.traded = False

        if not self.live_mode:
            self.quit("A")

    def on_data(self, slice):
        if self.live_mode:
            self.debug(f"{str(self.time)}: [{[str(data) for data in slice.all_data]}]")

        if not self.traded:
            for chain in slice.future_chains:
                sorted_contracts = sorted(chain.value, key = lambda x: x.expiry)

                contract = sorted(sorted_contracts, key = lambda x: x.expiry)[0]

                self.market_order(contract.symbol, 1)
                self.traded = True

    def on_order_event(self, order_event):
        self.debug(f"{str(self.time)}: Event: " + str(order_event) + ". Holdings: " + str(self.securities[order_event.symbol].holdings))