| Overall Statistics |
|
Total Orders 778 Average Win 0.52% Average Loss 0% Compounding Annual Return 27.736% Drawdown 1.700% Expectancy 0 Start Equity 100000 End Equity 100515.51 Net Profit 0.516% Sharpe Ratio 2.125 Sortino Ratio 1.831 Probabilistic Sharpe Ratio 56.856% Loss Rate 0% Win Rate 100% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0.087 Annual Variance 0.008 Information Ratio 2.384 Tracking Error 0.087 Treynor Ratio 0 Total Fees $4.79 Estimated Strategy Capacity $33000000.00 Lowest Capacity Asset QQQ RIWIV7K5Z9LX Portfolio Turnover 24.82% |
'''
Usage:
def Initialize(self):
self.log = Log(self)
# code xxxxxx
self.log.log("---->1")
'''
from AlgorithmImports import *
import time
class Log(AlphaModel):
def __init__(self, algo):
self.timer = round(time.time() * 1000)
self.algo = algo
self.maxLine = 200
self.count = 0
def log(self, message):
self.algo.Log(f"[LOG] {message}")
def info(self, message):
now = round(time.time() * 1000)
timer = (now - self.timer) / 1000
self.timer = now
if (self.algo.Time <= self.algo.Time.replace(hour=9, minute=35)):
self.algo.Log(f"[INFO] {message}")
def debug(self, message):
if self.count < self.maxLine:
self.algo.Log(f"[DEUBG] {message}")
self.count += 1
# region imports
from AlgorithmImports import *
from log import *
# endregion
class IB00(QCAlgorithm):
def initialize(self):
# Locally Lean installs free sample data, to download more data please visit https://www.quantconnect.com/docs/v2/lean-cli/datasets/downloading-data
self.set_start_date(2020, 1, 1) # Set Start Date
self.set_end_date(2020, 1, 8) # Set Start Date
self.set_cash(100000) # Set Strategy Cash
self.add_equity("QQQ", Resolution.MINUTE)
self.log = Log(self)
self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Cash)
self.settings.rebalance_portfolio_on_insight_changes = True
self.set_portfolio_construction(EqualWeightingPortfolioConstructionModel())
self.SetExecution(ImmediateExecutionModel())
def on_data(self, data: Slice):
if not self.portfolio.invested:
self.emit_insights(Insight.price("QQQ", timedelta(days=4), InsightDirection.UP))