Overall Statistics |
Total Trades 17 Average Win 0% Average Loss -75.52% Compounding Annual Return -100.000% Drawdown 93.300% Expectancy -1 Net Profit -82.562% Sharpe Ratio -1.071 Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha -5.668 Beta 159.812 Annual Standard Deviation 2.976 Annual Variance 8.858 Information Ratio -1.076 Tracking Error 2.976 Treynor Ratio -0.02 Total Fees $0.00 |
import numpy as np from decimal import Decimal class CustomMarginModelAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2013,10, 7) self.SetEndDate(2013,11,20) self.SetCash(200) security = self.AddForex("EURUSD", Resolution.Daily) self.Portfolio.SetMarginCallModel(CustomMarginCallModel(self.Portfolio, None)) def OnData(self, data): self.MarketOrder("EURUSD", 1000) def OnMarginCallWarning(self): self.Liquidate("EURUSD") class CustomMarginCallModel(DefaultMarginCallModel): def __init__(self, portfolio, defaultOrderProperties): self.portfolio = portfolio self.defaultOrderProperties = defaultOrderProperties super().__init__(portfolio, defaultOrderProperties) def GetMarginCallOrders(self, issueMarginCallWarning): issueMarginCallWarning = False if self.portfolio.TotalPortfolioValue < Decimal(0.6)*self.portfolio.TotalMarginUsed: issueMarginCallWarning = True return [], issueMarginCallWarning