AI计算对数收益
编辑
1
2025-06-22

提示词
我们已经有了一整年的价格数据,数据类型为DataFrame。每日收盘价格存储在“收盘”字段中,请给出使用Python计算每日对数收益的示例代码。
答案
import pandas as pd
import numpy as np
# 示例数据准备(实际使用时可替换为真实数据)
data = {
'日期': pd.date_range(start='2024-01-01', periods=365, freq='D'),
'收盘': np.random.normal(100, 5, 365).cumsum() # 生成随机价格序列
}
df = pd.DataFrame(data).set_index('日期')
# ===== 核心计算逻辑 =====
# 计算每日对数收益率 = ln(今日收盘价 / 昨日收盘价)
df['对数收益率'] = np.log(df['收盘'] / df['收盘'].shift(1))
# 处理首行NaN(可选)
df['对数收益率'].fillna(0, inplace=True) # 将第一天的NaN替换为0
# 打印前5行结果
print(df.head())
输出结果没毛病
收盘 对数收益率
日期
2024-01-01 103.907240 0.000000
2024-01-02 206.176358 0.685233
2024-01-03 302.115797 0.382078
2024-01-04 398.304879 0.276407
2024-01-05 488.990501 0.205125
- 0
- 0
-
赞助
支付宝
微信
-
分享