Elder Trading Copilot

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 / numpyEMA、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面板就不会在每次滑块移动时闪烁。