目录

一、核心内容总览
akshare基础使用
- 获取股票列表:
"ak.stock_info_a_code_name()" - 获取历史数据:
"ak.stock_zh_a_hist()" - 资金流向数据:
"ak.stock_individual_fund_flow()"
- 获取股票列表:
关键技术点
- 均线计算:
"df['close'].rolling(5).mean()" - 金叉检测:短期均线上穿长期均线
- 向量化计算:批量处理替代循环
- 均线计算:
Python特性
- 字典推导式:
"{k:v for x in iterable}" - 时间处理:
"datetime"和
"timedelta"
- 字典推导式:
二、重点问题详解
- 向量化计算 vs 循环
问题:"为什么向量化比循环快?"
解释:
传统循环:像收银员逐个扫描商品
逐个计算(慢)
for price in prices:
ma.append(sum(price)/5)向量化:像超市扫码机批量处理
批量计算(快)
ma = prices.rolling(5).mean()
本质区别:
- 向量化利用CPU的SIMD指令并行计算
- Pandas底层用C语言优化,避免Python解释器开销
- 字典推导式
问题:"
"{x:x**2 for x in numbers}"怎么理解?"
拆解:
传统写法
result = {}
for x in [1,2,3]:
result[x] = x*x
推导式写法
result = {x: x*x for x in [1,2,3]}
核心逻辑:
- "for x in 列表":取出每个元素
- "x: x*x":左边是键,右边是值
- 自动组装成字典
- 金叉检测逻辑
问题:"如何判断均线金叉?"
关键代码:
当日短期 > 长期 且 前一日短期 < 长期
current_cross = (short_ma[-1] > long_ma[-1])
and (short_ma[-2] < long_ma[-2])
形象比喻:
- 两条均线像两个人赛跑
- 金叉 = 短跑选手从后方超越长跑选手
- 时间处理
问题:"
"timedelta(days=365*3)"什么意思?"
解析:
from datetime import datetime, timedelta
now = datetime.now()
three_years_ago = now - timedelta(days=365*3) # 减去1095天
注意事项:
- 简单计算忽略闰年(实际误差<1%)
- 精确计算可用
"relativedelta(years=3)"
三、完整知识体系
数据获取层
- 股票列表 → 个股数据 → 资金流向
技术指标层
- 均线计算 → 金叉/死叉 → 量价分析
性能优化层
- 向量化计算 → 批量处理 → 并行计算
可视化层
- K线绘制 → 指标叠加 → 交互图表
四、待深入方向
- 高级指标:MACD/KDJ/RSI
- 量化回测:backtrader框架
- 实时监控:websocket推送
- 多因子模型:财务数据结合
需要继续探讨哪个部分?我可以提供更具体的代码示例和理论说明。
最新回复