目录

17633887254647736345466065993398.jpg

一、核心内容总览

  1. akshare基础使用

    • 获取股票列表:
      "ak.stock_info_a_code_name()"
    • 获取历史数据:
      "ak.stock_zh_a_hist()"
    • 资金流向数据:
      "ak.stock_individual_fund_flow()"
  2. 关键技术点

    • 均线计算:
      "df['close'].rolling(5).mean()"
    • 金叉检测:短期均线上穿长期均线
    • 向量化计算:批量处理替代循环
  3. Python特性

    • 字典推导式:
      "{k:v for x in iterable}"
    • 时间处理:
      "datetime"和
      "timedelta"

二、重点问题详解

  1. 向量化计算 vs 循环

问题:"为什么向量化比循环快?"

解释:

  • 传统循环:像收银员逐个扫描商品

    逐个计算(慢)

    for price in prices:
    ma.append(sum(price)/5)

  • 向量化:像超市扫码机批量处理

    批量计算(快)

    ma = prices.rolling(5).mean()

本质区别:

  • 向量化利用CPU的SIMD指令并行计算
  • Pandas底层用C语言优化,避免Python解释器开销
  1. 字典推导式

问题:"
"{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":左边是键,右边是值
  • 自动组装成字典
  1. 金叉检测逻辑

问题:"如何判断均线金叉?"

关键代码:

当日短期 > 长期 且 前一日短期 < 长期

current_cross = (short_ma[-1] > long_ma[-1])

            and (short_ma[-2] < long_ma[-2])

形象比喻:

  • 两条均线像两个人赛跑
  • 金叉 = 短跑选手从后方超越长跑选手
  1. 时间处理

问题:"
"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)"

三、完整知识体系

  1. 数据获取层

    • 股票列表 → 个股数据 → 资金流向
  2. 技术指标层

    • 均线计算 → 金叉/死叉 → 量价分析
  3. 性能优化层

    • 向量化计算 → 批量处理 → 并行计算
  4. 可视化层

    • K线绘制 → 指标叠加 → 交互图表

四、待深入方向

  1. 高级指标:MACD/KDJ/RSI
  2. 量化回测:backtrader框架
  3. 实时监控:websocket推送
  4. 多因子模型:财务数据结合

需要继续探讨哪个部分?我可以提供更具体的代码示例和理论说明。

最后编辑:2025年11月17日 ©著作权归作者所有

发表评论