使用说明
🌌
SYNAPSE-FINANCE
The Autonomous Financial Singularity
“定量执行与生成推理的结合。”
Synapse Finance不仅仅是一个交易机器人 双核金融操作系统 它将自主交易代理与深度研究财务分析师合并,统一在一个单一的 机构级终端.
📑 目录
🦅 执行摘要
现代市场遭受 信息过载但洞察力不足Synapse Finance通过模拟 软件中的完整对冲基金堆栈.
🔹 关键能力
-
自主执行 由4名人工智能交易员(Warren、George、Ray、Cathie)组成的委员会使用 模型上下文协议(MCP).
-
深度金融研究 基于LangGraph的分析师使用 检索增强生成(RAG) 使用经过验证的内部PDF来回答复杂的问题,而不是幻觉。
-
实时市场情报 集成网页抓取器分析 Finviz&市场观察 实时过滤虚假信号。
🏗️ 系统架构
Synapse使用 解耦的、事件驱动的架构 所以交易引擎永远不会阻止研究引擎。
graph TD
User["User Terminal"] --> UI["Gradio Unified Dashboard"]
subgraph CORE1["CORE 1: EXECUTION ENGINE (Async Loop)"]
UI --> TradingFloor["Trading Floor Orchestrator"]
TradingFloor --> Agents["Agent Committee"]
Agents --> Warren["Claude-3-Opus (Warren)"]
Agents --> George["Gemini-Pro (George)"]
Agents --> Cathie["GPT-4 (Cathie)"]
Agents --> MCP["Model Context Protocol"]
MCP --> Polygon["Polygon.io API"]
MCP --> Portfolio["SQLite Ledger"]
MCP --> Risk["VaR and Drawdown Guard"]
end
subgraph CORE2["CORE 2: INTELLIGENCE ENGINE (LangGraph)"]
UI --> Chatbot["Analyst Chatbot"]
Chatbot --> Router["Intent Router"]
Router --> Sentiment["Sentiment Engine"]
Sentiment --> News["Market News"]
Router --> RAG["RAG Pipeline"]
RAG --> VectorDB["ChromaDB"]
end
Risk --> Alerts["Pushover Alerts"]
双核发动机
Equinox AI围绕双核架构构建,将执行与研究清晰地分开。
核心A:交易大厅(执行层)
一个由自主交易代理组成的委员会,每个代理都有独特的市场理念和风险状况。
| 代理 | 模型 | 策略 | 风险等级 |
|---|---|---|---|
| 沃伦 | 第3条Opus | 价值投资和基本面 | 低 |
| George | Gemini Pro | 势头和新闻反射性 | 高 |
| Ray | Mistral大 | 数量指标(RSI、MACD) | 中等 |
| Cathie | GPT-4 | 高贝塔增长和创新战略 | 非常高 |
核心A:数学算法:
def calculate_rsi(价格,周期=14): “”“计算RSI指标”“” 如果len(价格)<期间: return[50]*len(价格)
prices = np.array(prices)
deltas = np.diff(prices)
seed = deltas[:period+1]
up = seed[seed >= 0].sum() / period
down = -seed[seed < 0].sum() / period
rs = up / down if down != 0 else 100
rsi = np.zeros_like(prices)
rsi[:period] = 100. - 100. / (1. + rs)
for i in range(period, len(prices)):
delta = deltas[i-1]
if delta > 0:
upval = delta
downval = 0.
else:
upval = 0.
downval = -delta
up = (up * (period - 1) + upval) / period
down = (down * (period - 1) + downval) / period
rs = up / down if down != 0 else 100
rsi[i] = 100. - 100. / (1. + rs)
return rsi.tolist()
def calculate_macd(价格,快=12,慢=26,信号=9): “”“计算MACD指标”“” 如果len(价格)<慢: return[0]*len(价格),[0]*lens(价格)
prices = pd.Series(prices)
ema_fast = prices.ewm(span=fast).mean()
ema_slow = prices.ewm(span=slow).mean()
macd_line = ema_fast - ema_slow
signal_line = macd_line.ewm(span=signal).mean()
histogram = macd_line - signal_line
return macd_line.tolist(), signal_line.tolist(), histogram.tolist()
def calculate_bollinger_bands(价格,周期=20,标准偏差=2): “”“计算布林带”“” 如果len(价格)<期间: 退货价格
prices = pd.Series(prices)
sma = prices.rolling(window=period).mean()
std = prices.rolling(window=period).std()
upper_band = sma + (std * std_dev)
lower_band = sma - (std * std_dev)
return upper_band.bfill().tolist(), sma.bfill().tolist(), lower_band.bfill().tolist()
def get_technological-signals(符号): “”“获取符号的技术分析信号”“” 尝试: 天数=50 base_price=随机均匀(50200) 价格=[]
for i in range(days):
change = random.uniform(-0.05, 0.05)
trend = 0.001 if i > 25 else -0.001
base_price *= (1 + change + trend)
prices.append(max(10, base_price))
rsi = calculate_rsi(prices)
macd, macd_signal, macd_hist = calculate_macd(prices)
bb_upper, bb_middle, bb_lower = calculate_bollinger_bands(prices)
current_rsi = rsi[-1]
current_macd = macd[-1]
current_price = prices[-1]
signals = []
if current_rsi > 70:
signals.append({"type": "RSI", "signal": "OVERBOUGHT", "value": current_rsi, "color": "#FF6B6B"})
elif current_rsi < 30:
signals.append({"type": "RSI", "signal": "OVERSOLD", "value": current_rsi, "color": "#00FF88"})
else:
signals.append({"type": "RSI", "signal": "NEUTRAL", "value": current_rsi, "color": "#FFD93D"})
if current_macd > 0:
signals.append({"type": "MACD", "signal": "BULLISH", "value": current_macd, "color": "#00FF88"})
else:
signals.append({"type": "MACD", "signal": "BEARISH", "value": current_macd, "color": "#FF6B6B"})
if current_price > bb_upper[-1]:
signals.append({"type": "BB", "signal": "OVERBOUGHT", "value": current_price, "color": "#FF6B6B"})
elif current_price < bb_lower[-1]:
signals.append({"type": "BB", "signal": "OVERSOLD", "value": current_price, "color": "#00FF88"})
else:
signals.append({"type": "BB", "signal": "NORMAL", "value": current_price, "color": "#00D2FF"})
return {
"symbol": symbol,
"signals": signals,
"rsi": current_rsi,
"macd": current_macd,
"price": current_price,
"timestamp": datetime.now().isoformat()
}
except Exception as e:
return {"symbol": symbol, "signals": [], "error": str(e)}
核心B:情报中心(研究层)
一个专注于研究的智能引擎,负责财务分析、咨询和情境推理。
能力
- 意向路径(股票/基金/咨询)
- 实时导航和AUM抓取
- 基于PDF的RAG引用
- 感知情绪的市场分析
示例查询
Compare HDFC Flexi Cap vs Parag ParikhWhat is our hedging strategy?Explain sentiment on Reliance
技术栈和依赖关系
后端和人工智能
- Python 3.10+
- LangGraph
- OpenAI SDK(GPT-4和嵌入)
- 谷歌双子座
- ChromaDB(本地矢量库)
数据和连接
- Polygon.io(市场数据)
- Alpha Vantage(备份提供商)
- WebSockets(低于200毫秒的更新)
- BeautifulSoup4(刮擦)
- Pushover(警报)
前端
- 等级 5.0
- Plotly(交互式图表)
安装和设置
1.克隆存储库
克隆https://github.com/your-username/equinox-ai.git cd春分
📦 安装依赖项
✅ 推荐
紫外同步 🔁 或 bash 复制代码 pip安装-r要求.txt
🧠 构建知识库(RAG) bash 复制代码 python finance_chat/rag/build_kb.py ⚙️ 配置指南 在根目录中创建.env文件:
环境 复制代码
人工智能提供商
OPENAI_API_KEY=sk-xxxx GOOGLE_API_KEY=AIza-xxxx
市场数据
多边形_ PI_键=xxxx 字母_VANTAGE_API_KEY=xxxx
通知
推送器_密钥=xxxx PUSHOVER_API_TOKEN=xxxx
系统
RUN_EVERY_N_MINUTES=5 风险限额=0.03 🛡️ 风险管理协议 🔒 VaR断路器 当每日风险价值(VaR)超过3%时,停止所有买入订单。
📰 情绪过滤器 当新闻情绪降至-0.2以下时,拒绝买入订单。
🧨 紧急停机 如果投资组合提款超过5%,则自动清算头寸。
📊 性能指标
延迟:<200ms
提款减少:~30%
信号精度提高:~20%
API成本节约:约40%
🛣️ 路线图
核心交易引擎
RAG财务分析师
统一仪表板
加密货币支持(币安/Coinbase)❌
移动应用程序(React Native)❌
🤝 贡献
bash 复制代码 git checkout-b功能/AmazingStrategy git commit-m“添加均值反转策略” git推送原点功能/AmazingStrategy 打开拉取请求🚀
📄 免责声明和许可 MIT许可证
⚠️ 警告 此软件仅用于教育和研究目的。 金融交易涉及重大风险。 作者对经济损失不承担任何责任