Overall Statistics |
Total Orders 1 Average Win 0% Average Loss 0% Compounding Annual Return 25.568% Drawdown 9.500% Expectancy 0 Start Equity 100000 End Equity 129034.83 Net Profit 29.035% Sharpe Ratio 1.175 Sortino Ratio 1.298 Probabilistic Sharpe Ratio 76.048% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.001 Beta 0.994 Annual Standard Deviation 0.104 Annual Variance 0.011 Information Ratio 0.049 Tracking Error 0.005 Treynor Ratio 0.123 Total Fees $106.50 Estimated Strategy Capacity $180000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X Portfolio Turnover 0.24% |
from AlgorithmImports import * class CustomFeeModelExampleAlgorithm(QCAlgorithm): def initialize(self) -> None: self.set_start_date(2024, 1, 1) self.spy = self.add_equity("SPY") self.spy.set_fee_model(MyFeeModel()) def on_data(self, slice): self.set_holdings(self.spy.symbol, 1) # Define the custom fee model class MyFeeModel(FeeModel): def get_potential_order_price(self, order: Order, security: Security) -> float: if order.direction == OrderDirection.BUY: return security.bid_price return security.ask_price def get_order_fee(self, parameters: OrderFeeParameters) -> OrderFee: order = parameters.order security = parameters.security price = self.get_potential_order_price(order, security) count = order.absolute_quantity return OrderFee(CashAmount(0.5 * count, security.quote_currency.symbol))