【Code with SOLO】构建「天地人」三维量化交易系统:从几千个高收益雪球账号中捕捉主力动向

:dart: 摘要

使用 TRAE SOLO 从零搭建一套基于「天地人」三维投资哲学的量化交易系统。我们不做传统的技术指标分析,而是实时监控几千个高收益雪球账号的调仓行为,从群体智慧中捕捉主力动向。系统已稳定运行并实现盈利,形成一套可复制、可验证的跟庄交易方法论。

:building_construction: 背景与核心理念

我是一名量化交易探索者,在经历了无数次技术指标失败后,我意识到传统分析的局限性

  • 技术分析看的是历史,而市场是活的

  • 基本面分析太慢,等你反应过来价格已经变了

  • 单账号跟踪太片面,无法区分偶然行为与系统性机会

我相信「天、地、人」三维投资哲学:

:cloud: 天 - 时间维度与周期规律

  • 什么时间窗口内发生的行为最有价值?

  • 24小时内的集中调仓与5天内的缓慢建仓,信号强度完全不同

  • 天时是市场情绪的周期,是资金流动的节律

:globe_with_meridians: 地 - 个股基本面与量价特征

  • 单只股票的价格位置、成交量变化、技术形态

  • 这只股票处于什么阶段?底部放量?高位派发?

  • 地利是股票自身的质地,是交易的标的基础

:busts_in_silhouette: 人 - 群体行为与主力动向

  • 几千个高收益账号在买什么?卖什么?

  • 短时间内多个账户对同一只股票的集中买入,这是"人"的信号

  • 人和是群体的共识,是主力的脚印

传统分析只看到「地」,我们同时看到「天、地、人」。

:wrench: 实践过程

1. 任务拆解:从数据采集到信号输出

雪球高收益账号池 → 调仓行为实时采集 → 天地人三维分析 → 飞书实时通知 → 持仓自动管理

5个核心模块:

  1. 数据源:几千个经过筛选的高收益雪球账号

  2. 采集层:实时监控调仓行为,写入数据库

  3. 分析层:天地人三维信号计算引擎

  4. 通知层:飞书机器人实时推送

  5. 管理层:持仓自动同步与报表导出

2. 核心算法:天地人三维信号模型

「人」的维度 - 群体行为分析

# 不同时间窗口的用户行为权重

buy_signal = buy24h * 0.5 + buy72h * 0.3 + buy5d * 0.2

sell_signal = sell24h * 0.5 + sell72h * 0.3 + sell5d * 0.2

# 买入信号差:买入力量 - 卖出力量 * 2

# 为什么乘以2?因为卖出信号需要更强的确认

buy_final = buy_signal - sell_signal * 2

深度解读:

  • 24小时集中买入:权重最高(0.5),这是最强烈的信号

  • 72小时持续建仓:权重次之(0.3),说明不是偶然行为

  • 5天缓慢布局:权重较低(0.2),可能是长期配置

为什么卖出要乘以不同的系数?

  • 买入信号差 = 买 - 卖*2:更保守,需要更强的买入确认

  • 卖出信号差 = 买 - 卖*1.4:相对敏感,及时止盈止损

「天」的维度 - 时间窗口设计

# 三个时间窗口,对应不同的市场周期

ranges = {

'24小时': (now - timedelta(hours=24), now),

'72小时': (now - timedelta(hours=72), now),

'5天': (now - timedelta(days=5), now)

}

深度思考:

  • 24小时 = 短线游资的战场,快进快出

  • 72小时 = 中线主力的建仓期,有持续性

  • 5天 = 一周交易周期,反映中期趋势

天时不是等待,是捕捉最佳的时间窗口。

「地」的维度 - 个股过滤与确认

# 持仓管理:只在持仓内才提醒卖出

if sell_final <= sell_th and (stock_id in get_holdings_set(my_holdings)):

\# 卖出信号 + 已持仓 = 真正的卖出时机

地利是基础:

  • 价格位置:当前成交价是多少?

  • 持仓状态:我是否已经持有这只股票?

  • 信号确认:买卖力量对比是否明确?

3. SOLO 能力使用

  • 代码生成:快速搭建数据库查询、信号计算、飞书通知等核心模块

  • 自动化脚本:定时任务调度,每30分钟扫描一次调仓数据

  • 工具搭建:将分散的逻辑整合成完整的交易系统

  • 数据处理:JSON持仓管理、Excel报表生成、数据库聚合分析

4. 核心代码展示

用户-股票级别统计(捕捉「人」的信号):
def aggregate_user_stock(rows, start_dt, end_dt):

"""按 (用户, 股票) 维度聚合,识别个体行为模式"""

stats = defaultdict(lambda: {

    'buy_count': 0, 'sell_count': 0,

    'last_price': 0, 'last_time': None

})



for r in rows:

    key = (r\['user_id'\], r\['stock_id'\])

    \# 统计每个用户对每只股票的操作

    \# 这是「人」的微观层面

**股票级别汇总(形成「人和」共识):
**
def stock_counts(user_stock_stats):

"""将用户行为汇总为股票层面的买卖用户数"""

counts = {}

for s in user_stock_stats:

    \# 净变化>=1才计入,过滤噪音

    if s\['net_change'\] >= 1:

        if s\['direction'\] > 0:

            counts\[stock_id\]\['buy_users'\].add(s\['user_id'\])

        elif s\['direction'\] < 0:

            counts\[stock_id\]\['sell_users'\].add(s\['user_id'\])

飞书通知 + 持仓联动(闭环管理):

买入:添加到持仓,记录连买天数

my_holdings, streak = update_buy_streak_on_notify(my_holdings, stock_id, stock_name, today)

# 卖出:发送通知后自动从持仓移除

if send_feishu_text(webhook, text):

my_holdings = remove_holding(my_holdings, stock_id)

save_json(MY_HOLDINGS_FILE, my_holdings)

5. 踩坑记录

  • 数据噪音:不是所有调仓都有价值,净变化<1的过滤掉

  • 阈值调优:默认阈值误报率高,通过回测调整到 3.19 才达到最佳效果

  • 持仓同步:飞书通知后必须立即更新本地状态,否则重复提醒

  • 休市处理:周末和节假日不运行,需要专门的交易日判断逻辑

:trophy: 成果展示

系统架构图

数据源层:几千个高收益雪球账号

采集层:实时调仓监控 → MySQL 数据库

分析层:天地人三维信号引擎
├── 人:群体行为聚合
├── 天:时间窗口加权
└── 地:个股状态确认

输出层:飞书通知 + Excel报表 + 持仓管理

实际飞书通知示例

买入信号:
:repeat_button: 连续第3天买入提醒
神火股份(SZ000933) | 价 12.85 | 信号差 4.32
股票资讯: (SZ000933)_个股概览_股票价格_实时行情_走势图_新闻资讯_股评_财报_FinScope-AI让投资更简单

:bar_chart: 数据速览
买:24h 15 | 72h 28 | 5天 42 ; 卖:24h 3 | 72h 8 | 5天 15
5天持有及持有过用户数: 256

:nine_o_clock: 24小时交易记录
总记录: 89 | 买入: 67 | 卖出: 22

解读:

  • 24小时内15个高收益账户买入,这是强烈的「人」的信号

  • 连买3天,说明不是偶然行为,是系统性建仓

  • 5天256个用户持有过,说明市场关注度在提升

卖出信号:
:warning: 卖出信号提醒
国电电力(SH600795) | 价 3.85 | 信号差 -0.42

:bar_chart: 数据速览
买:24h 2 | 72h 5 | 5天 8 ; 卖:24h 12 | 72h 18 | 5天 25

解读:

  • 卖出力量远大于买入,群体在离场

  • 这是「人」的撤退信号,需要及时止盈

当前持仓状态

11只持仓股票:

  • SH688270 臻镭科技(连买5天)
  • SZ000933 神火股份(连买3天)
  • SH603529 爱玛科技(连买2天)
  • …(其他8只)

项目文件结构

sql5/
├── generate_rebalance_report.py # 核心信号计算引擎(天地人三维分析)
├── run_scheduler.py # 定时任务调度
├── holdings_to_excel.py # Excel报表生成
├── my_holdings.json # 当前持仓数据
├── feishu_config.json # 飞书机器人配置
└── biaoge.xlsx # 导出的持仓表格

:chart_with_upwards_trend: 效果与总结

提效对比

第 1 列 第 2 列 第 3 列
项目 传统方式 使用 SOLO 后
数据采集 手动查看账号 3-4小时/天 全自动采集 0分钟
信号分析 凭经验判断,易受情绪影响 三维模型量化计算
持仓管理 手动记录,易遗漏 自动同步,100%准确
决策响应 错过最佳时机 飞书实时提醒
复盘分析 手动整理数据 1-2小时 一键生成Excel 10秒

本质提升:从"我看账号"到"系统告诉我该看什么"。

SOLO 在我的流程中做了什么?

  1. 快速原型:从想法到可运行系统,大幅缩短开发周期

  2. 代码优化:帮助我完善异常处理、数据聚合、信号计算逻辑

  3. 工具整合:将分散的脚本整合成完整的交易系统

  4. 持续迭代:根据实盘结果调整参数、优化公式

可复用的方法论

「天地人」三维分析框架可迁移到任何投资场景:

  1. 天(时间):什么时间窗口的行为最有价值?

    • 短线:24小时内的集中行为

    • 中线:72小时内的持续行为

    • 长线:5天以上的布局行为

  2. 地(标的):这个标的基础面如何?

    • 价格位置、成交量、技术形态

    • 持仓状态、盈亏比例

  3. 人(群体):群体在做什么?

    • 高收益账户的调仓行为

    • 短期内的共识形成

    • 主力资金的动向

这不是一个系统,这是一种思维方式。

:rocket: 可拓展性与展望

已完成

  • :white_check_mark: 核心信号计算引擎(天地人三维模型)

  • :white_check_mark: 飞书实时通知系统

  • :white_check_mark: 持仓自动管理闭环

  • :white_check_mark: 数据报表一键导出

  • :white_check_mark: 已实现稳定盈利并验证可复制性

下一步规划

  • :rocket: 更丰富的「人」的维度:账号画像、胜率分层、风格识别

  • :rocket: 更精细的「天」的维度:季节效应、周期识别、事件驱动

  • :rocket: 更深入的「地」的维度:技术指标叠加、基本面过滤

  • :rocket: Web可视化面板:实时仪表盘、信号热力图

  • :rocket: 回测模块:验证信号历史胜率与盈亏比

  • :rocket: 策略池:多策略并行,动态权重分配

招募共创伙伴

如果你对以下方向感兴趣,欢迎一起讨论共创:

  • 量化交易策略优化:如何从群体行为中提炼更精准的信号?

  • AI辅助信号发现:用机器学习挖掘隐藏的规律?

  • 数据可视化:让复杂的信号变得直观易懂?

  • 自动化交易系统:从信号到执行的完整闭环?

这是一套已经盈利、可复制、可验证的「天地人」三维交易系统。不是纸上谈兵,是实盘验证。期待与志同道合的朋友一起探索群体智慧的力量!


:handshake: 互动时间

如果你认同「天地人」的投资哲学,或者对群体行为分析感兴趣:

  1. 点赞支持:你的认可让我看到分享的价值 :thumbsup:

  2. 留言交流:你对「天、地、人」有什么理解?欢迎讨论

  3. 投票支持:如果你觉得这个方法论有价值,请投我一票

  4. 共创合作:想一起优化策略或开发新功能,私信我

你觉得「天、地、人」中哪个维度最重要?留言告诉我你的看法!

抓雪球的集中调仓这个角度有点意思,实盘跑通了是吧。

1 个赞