test
test
kazuya,
Try this 9 liner.
def initialize(context):
schedule_function(trade, date_rules.every_day(), time_rules.market_open(minutes = 150))
def trade(context,data):
assets, wt, lev = symbols('AAPL', 'TLT', 'AMZN'), [0.3, 0.4, 0.3], 1.0
if get_open_orders(): return
for i in range(len(assets)):
if data.can_trade(assets[i]) :
order_target_percent(assets[i], lev*wt[i])
record(leverage = context.account.leverage)
That's recording leverage from yesterday's trades (same minute and today's orders have only been entered and not yet executed) so here it is charting leverage a minute later after the orders have gone through. A key thing to understand to stay under the leverage limit in the contest.
The common practice of recording leverage once a day has only about a 1 in 390 chance of letting us know what we tend to be interested in: How high is the leverage in this algo. Here, a thinly traded stock is substituted in VY code while watching for highs.
def initialize(context):
schedule_function(trade, date_rules.every_day(), time_rules.market_open(minutes = 150))
schedule_function(chart, date_rules.every_day(), time_rules.market_open(minutes = 151))
context.mx_lvrg = 0
def trade(context,data):
assets, wt, lev = symbols('ABGB', 'TLT', 'AMZN'), [0.3, 0.4, 0.3], 1.0
for i in range(len(assets)):
if not data.can_trade(assets[i]): continue
order_target_percent(assets[i], lev*wt[i])
def chart(context,data):
record(leverage = context.account.leverage)
def handle_data(context, data):
if context.account.leverage > context.mx_lvrg:
context.mx_lvrg = context.account.leverage
record(MxLv = context.mx_lvrg) # Record maximum leverage encountered