The "AI Hedge Fund" project, hosted on GitHub under "virattt/ai-hedge-fund," is an educational proof of concept exploring AI in trading decision-making. It simulates trading using agents modeled after renowned investors and strategies. The project is open-source, popular, and actively developed, with a focus on learning and research rather than real trading.
Virat Singh (virattt)
Tobias Midskard Sørensen (Tobiasmidskards)
Simon Liu (SimonLiu423)
Aiden Ahn (seungwonme)
Alok Saboo (arsaboo)
Kit (KittatamSaisaard)
Andor Kesselman (andorsk)
Pragyan Tiwari (PragyanTiwari)
Scott Brenner (ScottBrenner)
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 9 | 1 | 5 | 0 | 1 |
30 Days | 20 | 5 | 15 | 1 | 1 |
90 Days | 59 | 34 | 109 | 30 | 1 |
All Time | 60 | 35 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Virat Singh | ![]() |
1 | 0/0/0 | 5 | 6 | 1033 |
Tiger LI (tigerlcl) | 0 | 1/0/1 | 0 | 0 | 0 | |
NikolaiKl (Nikolaikl) | 0 | 1/0/0 | 0 | 0 | 0 | |
Touhidul Alam Seyam (Seyamalam) | 0 | 1/0/0 | 0 | 0 | 0 | |
Basel Zhang (basel-zhang) | 0 | 1/0/0 | 0 | 0 | 0 | |
Tobias Midskard Sørensen (Tobiasmidskards) | 0 | 0/1/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a backlog of unresolved issues. In the past 7 days, 9 issues were opened while only 1 was closed, indicating a growing backlog. Additionally, high-priority issues such as #121 and #120 involve missing data for specific tickers, which could affect data integrity and reliability. The prolonged open periods of pull requests like PR #25 and PR #11 further exacerbate delivery risks. |
Velocity | 4 | Velocity is at risk due to the imbalance between issues opened and closed, with only 1 issue closed in the last 7 days compared to 9 opened. The concentration of commits by Virat Singh suggests potential bottlenecks if his availability changes. Extended open periods for key pull requests like PR #25 and PR #11 also indicate potential slowdowns in progress. |
Dependency | 3 | The project has several dependencies that pose risks, including reliance on external models like MISTRALAI (PR #93) and integrations such as Azure OpenAI (Issue #114). The dependency on Virat Singh's contributions is also a concern if his availability changes. However, the project is actively managing these dependencies through ongoing development efforts. |
Team | 3 | The team faces potential risks related to uneven workload distribution, with Virat Singh contributing the majority of recent commits. This could lead to burnout or dependency on a single developer. The low engagement from other team members might indicate communication challenges or motivation issues. |
Code Quality | 3 | Code quality is generally maintained through structured designs and modular approaches, as seen in 'src/agents/charlie_munger.py'. However, the lack of comprehensive documentation and testing details in recent updates (e.g., PR #93) poses risks to maintainability and future understanding of the codebase. |
Technical Debt | 4 | The project is accumulating technical debt due to the absence of detailed documentation and testing for recent changes (e.g., PR #93). Prolonged open periods for pull requests like PR #25 suggest integration challenges that could contribute to technical debt if not resolved promptly. |
Test Coverage | 4 | Test coverage is insufficient, as highlighted by the lack of comprehensive testing details in recent pull requests (e.g., PR #93). This poses risks in catching bugs and regressions, especially given the complexity introduced by new integrations like Gemini models (PR #118). |
Error Handling | 4 | Error handling is inadequate, with critical issues such as unhandled exceptions leading to crashes (Issues #116 and #95). The basic error handling in 'src/main.py' does not provide detailed logging or recovery mechanisms, posing risks to system stability. |
Recent GitHub issue activity for the "AI Hedge Fund" project shows a mix of bug reports and feature enhancement requests. Notably, there are several issues related to missing data or errors in data handling, such as #121 and #120, which highlight missing information for specific tickers. There is also a focus on enhancing the project's capabilities, as seen in issues like #117, which suggests using reinforcement learning to improve performance. Several issues indicate a need for better error handling and data validation, such as #116 and #95, where exceptions are not properly managed, leading to crashes.
A significant theme among the issues is the integration of additional features and improvements to existing functionalities. For example, issues like #115 and #114 suggest enhancements to connect with real wallets and add Azure OpenAI support, respectively. There is also a recurring interest in expanding the project's scope to include more data sources and improve user experience, as seen in issues #99 and #83.
The project is actively addressing both bugs and enhancements, with a focus on improving robustness and expanding functionality. However, some critical bugs remain unresolved, indicating areas that require immediate attention to ensure smooth operation and user satisfaction.
#118: Feature/gemini integration
#110: Add support for Google LLMs and enhance JSON response handling
#108: Adding deepseek support
#96: Feat: #67 add CLI arguments for analysts, model, and provider selection
#25: Added gradio interface
#11: Feature: Add Docker, Docker Compose, System Requirements, and CI/CD Pipeline for Container Publishing
#105: Add langchain ollama support
#104: Add langgraph.json configuration file
langgraph.json
file to enable running the application with the langgraph
CLI.#101: Feat: Implement LLM-Driven Dynamic Position Sizing
#93 & #92 (Similar): Add MISTRALAI & Add support for Google Gemini models
#89 & #88 (Similar): Add Discord notifications & Validate tickers first
#86 & #63 (Similar): Add support for ollama models & Chore: Add models for output and improve typing
#52 & #42 (Similar): Extend Support for OpenAI-Compatible Services & Refactor FinancialDatasetAPI integration
#10 & #8 (Similar): Feat: add stop-loss and take-profit functionality & Cmc integration 1734008209
#2 & #5 (Similar): Small code refactor & Added stop loss consideration
Notably closed without merging:
Merged PRs:
Older closed PRs:
The "AI Hedge Fund" project is actively evolving with numerous open pull requests focusing on expanding model support, improving user interfaces, enhancing configurability, and refining risk management strategies. Coordination among similar PRs is essential to avoid duplication of efforts, especially concerning model integrations like Gemini or Ollama support. Closed pull requests reflect ongoing refinement processes where only well-aligned contributions are merged into the main branch. Overall, the project shows strong community engagement with continuous improvements in functionality and user experience.
src/agents/charlie_munger.py
langchain_openai
, graph.state
, and custom utilities. These dependencies are assumed to be well-defined elsewhere in the project.src/utils/analysts.py
src/data/models.py
src/agents/cathie_wood.py
src/llm/models.py
Overall, the codebase demonstrates strong adherence to software engineering best practices with modular design, clear documentation, and effective use of Python's typing system. Future enhancements could focus on improving error handling and logging to further increase robustness and maintainability.
Virat Singh (virattt)
src/data/models.py
.README.md
, and made changes to src/utils/analysts.py
.Tobias Midskard Sørensen (Tobiasmidskards)
Simon Liu (SimonLiu423)
Aiden Ahn (seungwonme)
Alok Saboo (arsaboo)
Kit (KittatamSaisaard)
Andor Kesselman (andorsk)
Pragyan Tiwari (PragyanTiwari)
Scott Brenner (ScottBrenner)