整理 course 目录:原课程归入同名文件夹,新增学习资料/动手练习分类
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
"""01 | pandas 热身:收益率、波动、净值曲线
|
||||
目标:搞懂量化里最基础的三个东西——收益、风险、净值。
|
||||
"""
|
||||
import pandas as pd, numpy as np
|
||||
import matplotlib
|
||||
matplotlib.use("Agg")
|
||||
import matplotlib.pyplot as plt
|
||||
from lib_quant import get_daily, add_returns, net_value, stats
|
||||
|
||||
df = get_daily("600519", "20200101", "20241231") # 贵州茅台
|
||||
df = add_returns(df)
|
||||
nv = net_value(df["ret"])
|
||||
print("==", "600519 贵州茅台", "==")
|
||||
print(df[["日期", "收盘", "ret"]].tail(3).to_string(index=False))
|
||||
print("绩效:", stats(df["ret"]))
|
||||
|
||||
plt.figure(figsize=(9, 4))
|
||||
plt.plot(df["日期"], nv)
|
||||
plt.title("Net value (buy & hold)")
|
||||
plt.xlabel("date"); plt.ylabel("nav")
|
||||
plt.tight_layout(); plt.savefig("../data/01_net_value.png", dpi=110)
|
||||
print("图已存 data/01_net_value.png")
|
||||
|
||||
# 思考题:
|
||||
# 1) 为什么不看"价格涨了多少",而要看"收益率"和"净值"?
|
||||
# 2) 日收益率为 0 的日子占多少?(df['ret'].eq(0).mean())
|
||||
Reference in New Issue
Block a user