我正在写一个算法来对每天给定的股票价格变化进行排序。现在我正在研究两种股票:苹果和美国运通。我想排名他们从最大的价格变化到最小的价格变化,每天。你知道吗
例如,我得到的数据如下所示:
第1天:
AAPL=60.40
AMX=15.50
第2天:
AAPL=61.00
AMX=15.60
我希望结果是这样的,最高的积极变化是排名第一。这可能吗?你知道吗
更改:
AAPLchg=.60等级1
AMXchg=.10等级2
到目前为止,我的情况是:
def handle_data(context, data):
price_history = data.history(context.security_list, "price", bar_count=2, frequency="1d")
for s in context.security_list:
PrevAMX = price_history[sid(679)][-2]
CurrAMX = price_history[sid(679)][1]
PrevAAPL = price_history[sid(24)][-2]
CurrAAPL = price_history[sid(24)][1]
AMXchg = CurrAMX - PrevAMX
AAPLchg = CurrAAPL - PrevAAPL
if AMXchg < AAPLchg:
order(sid(679), 20)
if AAPLchg < AMXchg:
order(sid(24), 20)
price_history = data.history(context.security_list, "price", 20, "1d")
print price_history.mean()
print AMXchg
print AAPLchg
print log.info(str(context.chg_list.sort('adv_rank', descending=True).head()))
假设你有字典里的价格,那么你可以这样做:
相关问题 更多 >
编程相关推荐