You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何快速计算3000种加密货币8年的周收益率?

高效计算加密货币周收益率的方案

你要构建的是每周买入上周收益率最佳加密货币、卖出最差组合的投资策略,现有数据集包含CoinName(币种名)、yyww(周标识)、Close(周收盘价)三个字段,数据示例如下:

CoinName   yyww        Close
1       bitcoin 201401 8.549050e+02
2       bullion 201401 2.122034e+00
3   digitalcoin 201401 3.112048e-01
4      dogecoin 201401 2.841800e-04
5     earthcoin 201401 3.090447e-03
6   feathercoin 201401 4.227908e-01
7      freicoin 201401 8.091290e-02
8      goldcoin 201401 4.888827e-02
9  infinitecoin 201401 9.171350e-05
10       ixcoin 201401 1.215353e-01

不用手动循环120万次,用Pandas的向量化操作就能快速完成周收益率计算,步骤如下:

  • 第一步:数据透视
    将CoinName转成列,yyww作为行索引,把收盘价数据整理成宽表格式,方便后续批量计算。

  • 第二步:批量计算收益率
    利用shift(1)获取每个币种上周的收盘价,直接通过向量化运算一次性算出所有币种的周收益率,完全替代循环操作。

具体代码实现:

import pandas as pd

# 加载数据集(根据实际存储格式调整,比如csv/excel)
df = pd.read_csv('crypto_weekly_data.csv')

# 生成透视表:行=周标识,列=币种,值=周收盘价
pivot_data = df.pivot(index='yyww', columns='CoinName', values='Close')

# 计算周收益率:(本周收盘价 - 上周收盘价)/上周收盘价
weekly_returns = (pivot_data - pivot_data.shift(1)) / pivot_data.shift(1)

这种方法的优势在于:Pandas的向量化操作基于NumPy底层实现,避免了Python循环的性能损耗,处理百万级数据的速度会比循环快几十甚至上百倍。

内容的提问来源于stack exchange,提问作者Oliver Brandtvig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 12:25:40