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