依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 5|回复: 0

AI 投资系统-基于人工智能的投资系统概念验证项目python源码

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
14171
发表于 3 小时前 | 显示全部楼层 |阅读模式
AI 投资系统-基于人工智能的投资系统概念验证项目python源码

一个基于人工智能的投资系统概念验证项目。项目目标是探索如何使用 AI 来辅助投资决策。本项目仅用于教育目的,不适用于实际交易或投资。
系统组成
系统由以下几个协同工作的 agent 组成:
  • Market Data Analyst:负责收集和预处理市场数据
  • Valuation Agent:计算股票内在价值并生成交易信号
  • Sentiment Agent:分析市场情绪并生成交易信号
  • Fundamentals Agent:分析基本面数据并生成交易信号
  • Technical Analyst:分析技术指标并生成交易信号
  • Risk Manager:计算风险指标并设置仓位限制
  • Portfolio Manager:制定最终交易决策并生成订单

AI 投资系统-基于人工智能的投资系统概念验证项目python源码

AI 投资系统-基于人工智能的投资系统概念验证项目python源码



注意:系统仅模拟交易决策,不进行实际交易。
免责声明
本项目仅用于教育和研究目的。
  • 不适用于实际交易或投资
  • 不提供任何保证
  • 过往业绩不代表未来表现
  • 创建者不承担任何财务损失责任
  • 投资决策请咨询专业理财顾问
使用本软件即表示您同意仅将其用于学习目的。
安装
  • 克隆仓库:
    下载源码
  • 安装 Poetry(如果尚未安装):
    1. curl -sSL https://install.python-poetry.org | python3 -
    复制代码

  • 安装依赖:
    1. poetry install
    复制代码

  • 设置环境变量:
    1. # 创建.env文件用于存储API密钥
    2. cp .env.example .env

    3. # 从 https://platform.deepseek.com/ 获取DeepSeek API密钥
    4. export DEEP_SEEK_API_KEY='your-deepseek-api-key-here'
    5. export DEEP_SEEK_MODEL='deepseek-chat'
    复制代码

DeepSeek API 申请指南
  • 访问 DeepSeek 平台
  • 注册或登录您的账户
  • 进入 API Keys 页面
  • 点击 "Create new API key" 按钮
  • 复制生成的 API key
  • 将 API key 填入 .env 文件中的 DEEP_SEEK_API_KEY 变量
使用说明运行对冲基金
系统支持多种运行方式,可以根据需要组合使用不同的参数:
  • 基本运行
    1. poetry run python src/main.py --ticker 301155
    复制代码
    这将使用默认参数运行系统,包括:

    • 默认分析 5 条新闻(num_of_news=5)
    • 不显示详细分析过程(show_reasoning=False)
    • 使用默认的初始资金(initial_capital=100,000)
  • 显示分析推理过程
    1. poetry run python src/main.py --ticker 301155 --show-reasoning
    复制代码
    这将显示每个智能体(Market Data Agent、Technical Analyst、Fundamentals Agent、Sentiment Agent、Risk Manager、Portfolio Manager)的分析过程和推理结果。
    这允许你设置:

    • initial_capital: 初始现金金额(可选,默认为 100,000)

  • 自定义新闻分析数量和具体日期的投资建议
    1. poetry run python src/main.py --ticker 301157 --show-reasoning --end-date 2024-12-11 --num-of-news 20
    复制代码
    这将:

    • 分析指定日期范围内最近的 20 条新闻进行情绪分析
    • start-date 和 end-date 格式为 YYYY-MM-DD


  • 回测功能
    1. poetry run python src/backtester.py --ticker 301157 --start-date 2024-12-11 --end-date 2025-01-07 --num-of-news 20
    复制代码


回测功能支持以下参数:
  • ticker: 股票代码
  • start-date: 回测开始日期(YYYY-MM-DD)
  • end-date: 回测结束日期(YYYY-MM-DD)
  • initial-capital: 初始资金(可选,默认为 100,000)
  • num-of-news: 情绪分析使用的新闻数量(可选,默认为 5,最大为 100)
参数说明
  • --ticker: 股票代码(必需)
  • --show-reasoning: 显示分析推理过程(可选,默认为 false)
  • --initial-capital: 初始现金金额(可选,默认为 100,000)
  • --num-of-news: 情绪分析使用的新闻数量(可选,默认为 5,最大为 100)
  • --start-date: 开始日期,格式 YYYY-MM-DD(可选)
  • --end-date: 结束日期,格式 YYYY-MM-DD(可选)
输出说明
系统会输出以下信息:
  • 基本面分析结果
  • 估值分析结果
  • 技术分析结果
  • 情绪分析结果
  • 风险管理评估
  • 最终交易决策
如果使用了--show-reasoning参数,还会显示每个智能体的详细分析过程。
Example Output:
  1. 正在获取 301157 的历史行情数据...
  2. 开始日期:2024-12-11
  3. 结束日期:2024-12-11
  4. 成功获取历史行情数据,共 242 条记录

  5. 警告:以下指标存在NaN值:
  6. - momentum_1m: 20条
  7. - momentum_3m: 60条
  8. - momentum_6m: 120条
  9. ...(这些警告是正常的,是由于某些技术指标需要更长的历史数据才能计算)

  10. 正在获取 301157 的财务指标数据...
  11. 获取实时行情...
  12. 成功获取实时行情数据

  13. 获取新浪财务指标...
  14. 成功获取新浪财务指标数据,共 3 条记录
  15. 最新数据日期:2024-09-30 00:00:00

  16. 获取利润表数据...
  17. 成功获取利润表数据

  18. 构建指标数据...
  19. 成功构建指标数据

  20. Final Result:
  21. {
  22.   "action": "buy",
  23.   "quantity": 12500,
  24.   "confidence": 0.42,
  25.   "agent_signals": [
  26.     {
  27.       "agent": "Technical Analysis",
  28.       "signal": "bullish",
  29.       "confidence": 0.6
  30.     },
  31.     {
  32.       "agent": "Fundamental Analysis",
  33.       "signal": "neutral",
  34.       "confidence": 0.5
  35.     },
  36.     {
  37.       "agent": "Sentiment Analysis",
  38.       "signal": "neutral",
  39.       "confidence": 0.8
  40.     },
  41.     {
  42.       "agent": "Valuation Analysis",
  43.       "signal": "bearish",
  44.       "confidence": 0.99
  45.     },
  46.     {
  47.       "agent": "Risk Management",
  48.       "signal": "buy",
  49.       "confidence": 1.0
  50.     }
  51.   ],
  52.   "reasoning": "Risk Management allows a buy action with a maximum quantity of 12500..."
  53. }
复制代码
日志文件说明
系统会在 logs/ 目录下生成以下类型的日志文件:
  • 回测日志

    • 文件名格式:backtest_{股票代码}_{当前日期}_{回测开始日期}_{回测结束日期}.log
    • 示例:backtest_301157_20250107_20241201_20241230.log
    • 包含:每个交易日的分析结果、交易决策和投资组合状态
  • API 调用日志

    • 文件名格式:api_calls_{当前日期}.log
    • 示例:api_calls_20250107.log
    • 包含:所有 API 调用的详细信息和响应

所有日期格式均为 YYYY-MM-DD。如果使用了 --show-reasoning 参数,详细的分析过程也会记录在日志文件中。
项目结构



  1. ai-hedge-fund/
  2. ├── src/                         # 源代码目录
  3. │   ├── agents/                  # agent定义和工作流
  4. │   │   ├── fundamentals.py      # 基本面分析Agent
  5. │   │   ├── market_data.py       # 市场数据分析Agent
  6. │   │   ├── portfolio_manager.py # 投资组合管理Agent
  7. │   │   ├── risk_manager.py      # 风险管理Agent
  8. │   │   ├── sentiment.py         # 情绪分析Agent
  9. │   │   ├── state.py            # Agent状态管理
  10. │   │   ├── technicals.py       # 技术分析Agent
  11. │   │   └── valuation.py        # 估值分析Agent
  12. │   ├── data/                   # 数据存储目录
  13. │   │   ├── sentiment_cache.json # 情绪分析缓存
  14. │   │   └── stock_news/         # 股票新闻数据
  15. │   ├── tools/                  # 工具和功能模块
  16. │   │   ├── api.py              # API接口和数据获取
  17. │   │   ├── data_analyzer.py    # 数据分析工具
  18. │   │   ├── news_crawler.py     # 新闻爬取工具
  19. │   │   ├── openrouter_config.py # OpenRouter配置
  20. │   │   └── test_*.py           # 测试文件
  21. │   ├── utils/                  # 通用工具函数
  22. │   ├── backtester.py          # 回测系统
  23. │   └── main.py                # 主程序入口
  24. ├── logs/                      # 日志文件目录
  25. │   ├── api_calls_*.log        # API调用日志
  26. │   └── backtest_*.log         # 回测结果日志
  27. ├── .env                       # 环境变量配置
  28. ├── .env.example              # 环境变量示例
  29. ├── poetry.lock               # Poetry依赖锁定文件
  30. ├── pyproject.toml            # Poetry项目配置
  31. └── README.md                 # 项目文档
复制代码
各Agent功能说明
  • 市场数据分析Agent

    • 系统入口,负责数据采集和预处理
    • 通过akshare API获取A股市场数据
    • 数据来源包括:
      • 东方财富
      • 新浪财经
      • 同花顺

  • 技术分析Agent

    • 分析以下技术指标:
      • 价格趋势
      • 成交量
      • 动量指标
    • 生成技术分析交易信号
    • 关注短期市场走势
  • 基本面分析Agent

    • 分析公司财务指标:
      • 盈利能力
      • 成长性
      • 财务健康状况
    • 评估公司长期发展潜力
    • 生成基本面交易信号
  • 情绪分析Agent

    • 分析市场新闻和舆论
    • 评估市场情绪
    • 生成情绪交易信号
    • 支持多数据源:
      • 新浪财经
      • 东方财富
      • 雪球

  • 估值分析Agent

    • 进行公司估值分析
    • 评估股票内在价值
    • 主要估值方法:
      • DCF模型
      • 相对估值法
      • 市场比较法

  • 风险管理Agent

    • 整合各Agent信号
    • 评估潜在风险
    • 设置风险控制参数:
      • 最大持仓限制
      • 止损止盈水平
      • 交易规模限制

  • 投资组合管理Agent

    • 最终决策者
    • 综合考虑:
      • 各Agent信号
      • 风险因素
      • 投资组合状态
    • 生成交易决策:
      • 买入
      • 卖出
      • 持有
数据处理流程数据类型说明
  • 市场数据
    {    "market_cap": float,        # 总市值    "volume": float,            # 成交量    "average_volume": float,    # 平均成交量    "fifty_two_week_high": float,  # 52周最高价    "fifty_two_week_low": float    # 52周最低价}
  • 财务指标数据
    {    # 市场数据    "market_cap": float,          # 总市值    "float_market_cap": float,    # 流通市值    # 盈利数据    "revenue": float,             # 营业总收入    "net_income": float,          # 净利润    "return_on_equity": float,    # 净资产收益率    "net_margin": float,          # 销售净利率    "operating_margin": float,    # 营业利润率    # 增长指标    "revenue_growth": float,      # 主营业务收入增长率    "earnings_growth": float,     # 净利润增长率    "book_value_growth": float,   # 净资产增长率    # 财务健康指标    "current_ratio": float,       # 流动比率    "debt_to_equity": float,      # 资产负债率    "free_cash_flow_per_share": float,  # 每股经营性现金流    "earnings_per_share": float,  # 每股收益    # 估值比率    "pe_ratio": float,           # 市盈率(动态)    "price_to_book": float,      # 市净率    "price_to_sales": float      # 市销率}
  • 财务报表数据
    {    "net_income": float,          # 净利润    "operating_revenue": float,    # 营业总收入    "operating_profit": float,     # 营业利润    "working_capital": float,      # 营运资金    "depreciation_and_amortization": float,  # 折旧和摊销    "capital_expenditure": float,  # 资本支出    "free_cash_flow": float       # 自由现金流}
  • 交易信号数据
    {    "action": str,               # 交易动作:买入/卖出/持有    "quantity": int,             # 交易数量    "confidence": float,         # 置信度 (0-1)    "agent_signals": [           # 各Agent信号        {            "agent": str,        # Agent名称            "signal": str,       # 信号类型:看涨/看跌/中性            "confidence": float  # 置信度 (0-1)        }    ],    "reasoning": str            # 决策理由}
数据处理流程
  • 数据采集

    • 通过akshare API获取以下数据:
      • 实时行情数据
      • 历史行情数据
      • 财务指标数据
      • 财务报表数据
    • 通过新浪财经API获取新闻数据
    • 数据标准化处理
  • 数据分析

    • 技术分析:
      • 计算技术指标
      • 分析价格模式
      • 生成交易信号
    • 基本面分析:
      • 分析财务报表
      • 评估公司基本面
      • 生成交易信号
    • 情绪分析:
      • 分析市场新闻
      • 评估市场情绪
      • 生成交易信号
    • 估值分析:
      • 计算估值指标
      • 进行DCF估值
      • 生成交易信号

  • 风险管理

    • 评估市场风险
    • 计算头寸规模
    • 设置止损止盈
    • 控制投资组合风险
  • 投资决策

    • 综合各Agent信号
    • 评估市场状况
    • 考虑投资组合状态
    • 生成最终交易决策
  • 数据存储

    • 情绪分析结果缓存
    • 新闻数据存储
    • 日志文件记录
    • API调用记录
  • 系统监控

    • API调用监控
    • Agent分析追踪
    • 决策过程记录
    • 回测结果评估

Agent协作机制信息共享
  • 所有Agent共享同一个状态对象
  • 通过消息传递机制进行通信
  • 每个Agent都可以访问必要的历史数据
决策权重
投资组合管理Agent在做决策时考虑不同信号的权重:
  • 估值分析:35%
  • 基本面分析:30%
  • 技术分析:25%
  • 情绪分析:10%
风险控制
  • 强制性风险限制
  • 最大持仓限制
  • 交易规模限制
  • 止损和止盈设置
系统特点
  • 模块化设计

    • 每个Agent都是独立的模块
    • 易于维护和升级
    • 可以单独测试和优化
  • 可扩展性

    • 可以轻松添加新的分析师
    • 支持添加新的数据源
    • 可以扩展决策策略
  • 风险管理

    • 多层次的风险控制
    • 实时风险评估
    • 自动止损机制
  • 智能决策

    • 基于多维度分析
    • 考虑多个市场因素
    • 动态调整策略

未来展望
  • 数据源扩展

    • 添加更多A股数据源
    • 接入更多财经数据平台
    • 增加社交媒体情绪数据
    • 扩展到港股、美股市场
  • 功能增强

    • 添加更多技术指标
    • 实现自动化回测
    • 支持多股票组合管理
  • 性能优化

    • 提高数据处理效率
    • 优化决策算法
    • 增加并行处理能力

情感分析功能
情感分析代理(Sentiment Agent)是系统中的关键组件之一,负责分析市场新闻和舆论对股票的潜在影响。
功能特点
  • 新闻数据采集

    • 自动抓取最新的股票相关新闻
    • 支持多个新闻源
    • 实时更新新闻数据
  • 情感分析处理

    • 使用先进的AI模型分析新闻情感
    • 情感分数范围:-1(极其消极)到1(极其积极)
    • 考虑新闻的重要性和时效性
  • 交易信号生成

    • 基于情感分析结果生成交易信号
    • 包含信号类型(看涨/看跌)
    • 提供置信度评估
    • 附带详细的分析理由

情感分数说明[td]
分数范围情感等级典型场景
1.0极其积极重大利好消息、超预期业绩、行业政策支持
0.5 到 0.9积极业绩增长、新项目落地、获得订单
0.1 到 0.4轻微积极小额合同签订、日常经营正常
0.0中性日常公告、人事变动、无重大影响的新闻
-0.1 到 -0.4轻微消极小额诉讼、非核心业务亏损
-0.5 到 -0.9消极业绩下滑、重要客户流失、行业政策收紧
-1.0极其消极重大违规、核心业务严重亏损、被监管处罚



链接:https://pan.quark.cn/s/9c67f927ebc7
提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:16 Bytes  售价:19金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员6折;永久VIP4折】
安全检测,请放心下载





相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员6折;永久VIP4折
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2025-3-13 15:58

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表