Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import pandas as pd
- def initialize(context):
- set_long_only()
- set_slippage(slippage.FixedSlippage(spread=0))
- set_commission(commission.PerShare(cost=0, min_trade_cost=0))
- context.asset = sid(8554)
- context.short = sid(32268)
- context.price = 'price'
- context.candle_size = '1m'
- context.price_history = 1440
- context.mavg = 0
- context.current_price = 0
- total_minutes = 390
- for i in range(1, total_minutes):
- if i == 1 or i % 120 == 0:
- schedule_function(bar_close, date_rules.every_day(), time_rules.market_open(minutes=i), True)
- def bar_close(context, data):
- prices = data.history(context.asset, context.price, context.price_history, context.candle_size).resample('120T').last().dropna()[-2:]
- context.current_price = prices[-1]
- context.mavg = prices.mean()
- if context.current_price > context.mavg:
- if context.asset not in context.portfolio.positions:
- if not get_open_orders():
- order_target_percent(context.asset, 1)
- order_target_percent(context.short, 0)
- elif context.current_price < context.mavg:
- if context.short not in context.portfolio.positions:
- if not get_open_orders():
- order_target_percent(context.asset, 0)
- order_target_percent(context.short, 1)
- record(current_price=context.current_price, mavg=context.mavg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement