Gauss World Trader 进展:重新投入 Vibe Coding 与 GWT 开发

基于 Alpaca 的开源量化交易平台

之前随手尝试了一下 Vibe Coding 做了 Gauss World Trader 之后发现,真的大有可为哈!所以最近我重新仔细审视了一下这个工具,继续投入精力并且与 Codex 与 Claude Code 两位大神继续 GWT 的开发。

先还是简单说说 Alpaca 这个平台的优缺点吧:

优点:

  • 注册账号后,Paper Trade 账户和 API 立即可用(目前支持美国以及许多其他国家,具体见 Alpaca 支持国家列表
  • 实盘开户方便(曾经有资金要求,但现在没有任何资金要求),KYC 流程简单
  • 交易免佣金(当然交易所的费用还是免不了的)
  • 支持股票、期权、加密货币
  • 支持小数股交易和做空操作
  • 免费版数据基本够用(15 分钟延迟,对低频交易影响不大)
  • API 文档清晰易懂,对新手特别友好

缺点:

  • 基础版数据来源只有 IEX 交易所,所以可能并不是非常准确
  • 适合 API 交易,但如果要手动交易的话,只有网页版,没有手机 APP

下面再来说说我们的 Gauss World Trader。

这是一个为 Python 3.12+ 设计的算法交易平台,融合了异步操作、智能数据流和高级投资组合管理。平台以卡尔·弗里德里希·高斯(Carl Friedrich Gauss)命名,致敬他对统计学和概率论的革命性贡献——这也是现代量化金融的基石,当然其实也是个人对高斯的喜爱。

项目是什么?

GaussWorldTrader 是一个开源算法交易平台,旨在兼顾学习与实践。

  • 多资产类别:通过统一接口交易股票、加密货币和期权
  • 预置策略:包含动量、价值投资、趋势跟踪等多种即用型策略
  • 教育友好:清晰的代码结构和文档,帮助你理解交易系统工作原理
  • 实盘与回测:支持历史数据回测,也可使用模拟或真实资金进行实盘交易
  • 现代架构:基于 Python 3.12+,采用异步模式实现高效数据处理

无论你是初学者还是经验丰富的交易者,都可以借助这个框架快速开始。

核心特性

  • 现代异步架构:专为 Python 3.12+ 设计,充分利用 async/await 模式
  • 多重交易策略:动量、价值、趋势跟踪、统计套利等
  • 实时仪表盘:基于 Streamlit 的交互式监控分析界面
  • 投资组合管理:高级头寸追踪与风险管理工具
  • 多源数据集成:Alpaca、Finnhub、FRED 及新闻数据源

项目架构

GaussWorldTrader/
├──  main_cli.py          # CLI entry point
├──  dashboard.py         # Streamlit dashboard entry
├──  live_script.py       # Unified live trading CLI
├──  watchlist.json       # Watchlist entries with asset_type
├──  src/
│   ├──  strategy/        # Trading strategies & templates
│   ├──  script/          # Live trading modules (stock, crypto, option)
│   ├──  ui/              # Dashboard components
│   ├──  trade/           # Trading engine & backtester
│   ├──  data/            # Market data providers
│   └──  account/         # Portfolio & position tracking
└──  docs/                # Documentation

快速开始

# Clone the repository
git clone https://github.com/Magica-Chen/GaussWorldTrader.git
cd GaussWorldTrader

# Create environment (Python 3.12+ required)
conda create -n gaussworldtrader python=3.12
conda activate gaussworldtrader

# Install dependencies
pip install -r requirements.txt

# Configure API keys
cp .env.example .env

# Run the dashboard
python dashboard.py

# Or use the CLI
python main_cli.py list-strategies

内置策略示例(目前还比较基础,将逐渐增减)

策略类别仪表盘支持
动量策略信号策略
价值投资信号策略
趋势跟踪信号策略
短线交易信号策略
统计套利信号策略
期权轮动期权策略

如何添加自定义策略?(将逐步融入微软的 Qlib 策略或者提供接口)

平台提供了清晰的策略模板:

from src.strategy.base import StrategyBase, StrategyMeta, StrategySignal

class MyStrategy(StrategyBase):
    meta = StrategyMeta(
        name="my_strategy",
        label="My Strategy",
        category="signal",
        description="Your strategy description here.",
        visible_in_dashboard=True,
        default_params={"lookback": 20}
    )
    summary = "Brief intro + formulas/logic for this strategy."

    def generate_signals(self, current_date, current_prices, current_data,
                         historical_data, portfolio=None):
        return self._normalize([
            StrategySignal(
                symbol="AAPL",
                action="BUY",
                quantity=1,
                price=current_prices.get("AAPL"),
                reason="example signal",
                timestamp=current_date,
            )
        ])

两种启动方式

CLI 命令行界面:适合自动化和脚本交易

Web 仪表盘:交互式可视化界面,运行在 http://localhost:3721

两种使用方式

  • 盘前盘后分析策略
  • 盘中实时算法交易

重要提醒

本项目仅供教育学习目的。实盘交易存在重大财务风险。请务必先使用模拟交易模式,切勿使用无法承受损失的资金进行交易。

为什么开源?

我相信量化交易的知识应该更加开放和透明。通过开源这个项目,我希望:

  • 为对量化感兴趣的朋友提供一个可学习、可修改的起点
  • 与社区一起改进和完善平台功能
  • 促进量化交易技术的透明化和普及化

欢迎参与

如果你对 Python、量化交易或开源项目感兴趣,欢迎:

  • Star & Watch 项目获取更新
  • 提交 Issue 或 PR 共同改进
  • 阅读代码和文档,提出建议

项目地址:https://github.com/Magica-Chen/GaussWorldTrader

期待与更多开发者交流,一起探索算法交易的无限可能!

注:本文中所有策略示例均为技术演示,不构成任何投资建议。市场有风险,投资需谨慎。

Dr. Zexun Chen
Dr. Zexun Chen
Lecturer/Assistant Professor

Mathematics + Data + Me = Magic

comments powered by Disqus

相关