学习心得 第一期 02_你的第一个量化实验
一、股票数据 --日线行情表
OHLCV:open,high,low,close,volume
了解具体原理:
-
open早盘(9:15-9:25):集合竞价(“攒单子、定一口价)期间买卖双方各自报出心理价。系统在9:25找到一个能让成交量最大的价格,所有在这个价格之上的买单和之下的卖单,统统按这个价成交。这个价格就是“开盘价”。
-
close尾盘(14:57-15:00):原理同上,最后3分钟撮合出的那个最大成交量的价格,就是“收盘价”
-
high,low:连续竞价期间(9:30-11:30, 13:00-14:57),当天全天所有成交中,价格波动的上下边界
二、收益率对量化意味着什么?
收益率是我们提出的假说验证的最核心、最重要的依据之一,但是只谈收益不谈风险就是耍流氓。
-
收益率:(120元 - 100元) / 100元 = 20%,收益率默认用close计算
-
日收益率,pandas核心代码:
df['日收益率'] = df['Close'].pct_change() -
收益率的可视化
- 日收益率曲线:直观展示每天的涨幅
- 直方图(Histogram):涨幅主要集中区间,有没有长尾
-
衡量波动:日收益率的标准差(标准差越大,涨跌越猛)
三、🎯 挑战任务(第二章通关)
- 三选一:把实验里的 'AAPL'、'TSLA'、'NVDA' 换成你最喜欢的一家公司,重做波动对比小实验。
- 截图打卡:保存一张「收益率 Histogram」图,发好友或学习群。
- 思考题:Histogram 尾巴很长,说明这类股票可能有什么特点?
解答:
- 将苹果'AAPL'替换成腾讯'0700.HK',下面是核心代码、日收益率对比图和日收益率标准差对比图。
由于项目原本拉取苹果股票数据使用的 yfinance(雅虎财经数据源)存在网络不稳定的问题,因此我更换为国内数据源 akshare
for symbol, name in tickers.items():
if '.HK' in symbol:
code = symbol.split('.')[0].zfill(5) # 补零为 5 位,如 0700 → 00700
data = ak.stock_hk_daily(symbol=code, adjust="qfq")
else:
data = ak.stock_us_daily(symbol=symbol, adjust="qfq")
# 统一处理:新浪源返回英文列名 date, close
data['date'] = pd.to_datetime(data['date'])
data = data.set_index('date').sort_index()
data = data.loc[start_dt:end_dt].dropna()
# 日收益率计算
all_rets[name] = data['close'].pct_change().dropna()
print(f'{name} ({symbol}): {len(all_rets[name])} 个交易日')
# 计算波动率
vol = pd.Series({name: s.std() for name, s in all_rets.items()}).sort_values(ascending=False)

-
收益率 Histogram 图如下:
![image]()
-
股票收益率波动非常大。如果右尾很长,收益遇到大利好;如果左尾很长,风险很高,容易出现暴跌。
四、结语
初识quant,发现一切都是有逻辑的,有思考的,不是情绪的冲动,收益率可能是假说的验金石,也可能藏有风险。
AI时代量化最重要的能力: ---Yibo
- 定义者
- 多模型思维
- 股市领域伦理判断
本文来自博客园,作者:蓝猫的眼里,转载请注明原文链接:https://www.cnblogs.com/xleto/articles/22685237


浙公网安备 33010602011771号