每日价格变化排名

2024-04-25 07:01:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个算法来对每天给定的股票价格变化进行排序。现在我正在研究两种股票:苹果和美国运通。我想排名他们从最大的价格变化到最小的价格变化,每天。你知道吗

例如,我得到的数据如下所示:

第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()))

Tags: datacontext价格pricehistorylistsecurityprint
1条回答
网友
1楼 · 发布于 2024-04-25 07:01:06

假设你有字典里的价格,那么你可以这样做:

yesterday = {
    'AAPL': 60.40,
    'AMX': 15.50,
}

today = {
    'AAPL': 61.00,
    'AMX': 15.60,
}

change = {k: today[k] - yesterday[k] for k in today}

sorted_stocks = sorted(change, key=change.get, reverse=True)

for ss in sorted_stocks:
    print('%s: %.2f' % (ss, change[ss]))

相关问题 更多 >