Elder Trading Copilot
一个情境感知的交易助手——交互式回测仪表盘加上基于 RAG 的聊天机器人——围绕 Alexander Elder 的 Triple Screen 交易系统构建。
- 类型
- 网站
- 角色
- 独立开发
- Status
- 进行中
- Tech
- Python Streamlit LangChain FAISS Plotly pandas yfinance HuggingFace Embeddings Groq (Llama 3.3 / 3.1 / Mixtral) OpenAI GPT-4o-mini
- Started
- 2026年3月
一个融合了基于RAG聊天机器人的交互式回测仪表盘,它能回答你当前查看的任何问题。策略层实现了Alexander ElderTriple Screen 交易系统的简化版本;聊天层则基于从Elder 的书籍和视频讲座中提取的894个问答对来回答问题。
功能特性
- 交互式回测仪表盘 — 通过侧边栏控件调整策略参数(EMA窗口、RSI阈值、突破窗口)、起始资金和仓位大小。图表和指标实时更新。
- 五个联动图表 — 价格与买卖信号、MACD直方图(第二屏)、带有超买/超卖区域的RSI、资金曲线与买入持有对比、以及回撤曲线,所有图表共享同步的X轴。
- 情境感知的RAG聊天机器人 — 一个嵌入式Copilot面板,支持逐字流式输出,能读取当前仪表盘状态(股票代码、参数、回测结果、风险水平)并将其注入到每个提示中。
- 多模型支持 — 通过一个下拉菜单即可在四个LLM(通过Groq的Llama 3.3 70B、Llama 3.1 8B、Mixtral 8x7B;通过OpenAI的GPT-4o-mini)和三个嵌入模型(bge-small、bge-base、all-MiniLM-L6-v2)之间切换。
- 894条目的知识库 — 从Elder 的书籍和视频讲座中提取的问答对,经过嵌入并索引到FAISS中,实现亚毫秒级检索。
- RAG流程探索器 — 一个专用页面,可视化管道的每个阶段:查询嵌入、带元数据的块检索、组装提示以及计时的LLM生成。
- 流程对比 — 并排比较嵌入模型、LLM和top-k值,让你能看到每种配置如何影响检索质量和响应内容。
- 交易日志 — 可展开的表格,显示每笔已平仓交易的入场/出场日期、价格、股数、盈亏、回报百分比、持有天数以及汇总统计。
架构
+-----------------------------------------------------------+
| Streamlit UI |
| +---------------------------+----------------------+ |
| | Dashboard (60%) | Copilot Panel (40%) | |
| | | | |
| | Metric cards | Embed + LLM select | |
| | Price / MACD / RSI / | Context summary bar | |
| | Equity / Drawdown | Chat (streaming) | |
| | Trade log | Quick-ask buttons | |
| +-------------+-------------+--------+-------------+ |
| | | |
+----------------+----------------------+--------------------+
| |
v v
+-------------------+ +----------------------+
| Backtest Engine | | RAG Pipeline |
| | | |
| yfinance data | | Select embedding |
| EMA / RSI / MACD | | Load FAISS index |
| Triple Screen | | Embed query |
| Position sizing | | Top-k retrieval |
| Metrics calc | | Build prompt |
+---------+---------+ +----------+-----------+
| |
v v
+-------------------+ +----------------------+
| Context Builder |-->| Generation Layer |
| | | |
| ticker / dates | | Llama 3.3 70B |
| strategy params | | Llama 3.1 8B |
| backtest metrics | | Mixtral 8x7B |
| risk level | | GPT-4o-mini |
+-------------------+ +----------------------+
技术栈
| 层级 | 技术 | 用途 |
|---|---|---|
| 用户界面 | Streamlit 多页面 | 仪表盘、聊天机器人面板、流程探索器、对比页面 |
| 市场数据 | yfinance | 免费历史OHLCV数据 |
| 指标计算 | pandas / numpy | EMA、RSI、MACD(从头计算) |
| 图表 | Plotly | 交互式联动五图布局 |
| 嵌入模型 | BAAI bge-small-en-v1.5 / bge-base-en-v1.5 / sentence-transformers MiniLM | 三个选项,预构建的FAISS索引 |
| 向量存储 | FAISS IndexFlatL2 | 精确L2最近邻搜索 |
| 大语言模型 | Llama 3.3 70B / 3.1 8B / Mixtral 8x7B (Groq) · GPT-4o-mini (OpenAI) | 四个模型选项,具有不同的速度/质量权衡 |
| 流程编排 | LangChain | 统一的嵌入 + 向量存储抽象 |
亮点
- 正确的上下文注入 — 这个Copilot不是通用的RAG聊天机器人。每条消息都会拉取当前仪表盘状态(股票代码、参数快照、回测指标、风险水平)并前置到系统提示中,因此“这是一个买入信号吗?”是针对这张特定图表的回答,而不是在真空中泛泛而谈。
- 通过单一抽象实现多模型对等 — 嵌入模型和LLM都可以通过一个下拉菜单互换。流程对比页面使得独立进行检索与生成质量的A/B测试变得容易。
- 基于片段的用户界面 — Streamlit片段将图表重新渲染的范围限定住,这样Copilot面板就不会在每次滑块移动时闪烁。