easy_investment_Agent_crewai: A-Share Analysis with Four CrewAI Agents and AKShare
基于AKShare和CrewAI的A股智能分析平台,通过多Agent协作提供专业的A股投资分析。 🚀 项目特色 📊 全面的A股数据分析:实时行情、财务数据、资金流向、市场情绪 🤖 多Agent协作:4个专业化AI角色协同工作 🇨🇳 A股市场特色:针对中国股市特点优化分析 📈 专业分析工具:基于AKShare的专业数据源 🎯 智能投资建议:综合分析提供投资决策参考
At a glance
- What is it?
- A Python project that wires four CrewAI roles to AKShare data for A-share research, defaulting to a Tencent Holdings run and shipping agent and task YAML you edit rather than code. It is a research scaffold, not a trading system, and the repository has not been pushed since 2026-05-07.
- Who is it for?
- Adopt it if you already run CrewAI and want a working A-share research scaffold whose agent roles and tasks live in YAML you can edit without touching Python. Do not adopt it if you need a maintained dependency, a documented licence file, or anything resembling execution or backtesting, because the repository has not been pushed since 2026-05-07, ships no releases, and its only stated licence claim is a README line.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 146 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What easy_investment_Agent_crewai Actually Solves
Most retail A-share research ends up as four browser tabs: a quote page, a financial statement page, a capital-flow page, and a news feed. The project's premise is that this assembly work is the boring part, and that a language model with tool access can do it in one pass. It targets people who already know what a 资金流向 table looks like and want the gathering automated, not people who want a signal handed to them.
The README is explicit about the boundary: the system is for study and research and does not constitute investment advice. That sentence is not boilerplate here, because nothing in the repository places orders, tracks positions, or backtests a strategy. The output is prose analysis from four agents plus whatever the configured model writes into the final task. If your actual need is execution or portfolio accounting, this is the wrong tool and no amount of configuration will change that.
The second audience is CrewAI users looking for a non-toy example. Four roles with distinct tools and a shared data source is a more realistic shape than the single-agent demos in most tutorials, and the A-share domain adds constraints (price limits, policy sensitivity, retail sentiment) that a generic equity agent ignores.
Four Agents, Four Tool Groups, One Shared Data Layer
The architecture is a standard CrewAI crew with a domain-specific split. The README names four roles: an A-share market analyst covering technical, policy and capital-flow angles; a financial statement specialist doing ratios, trend analysis and peer comparison; a market sentiment researcher on capital flows, news tone and policy impact; and an investment advisor who synthesizes and writes strategy and risk control.
Each role draws on a matching tool group. The data tools wrap AKShare for real-time quotes, historical K-lines, financial indicators, capital flow, sector data and sentiment indicators. A separate financial analysis tool set handles deeper ratio work and peer comparison, a sentiment tool set covers capital flow and news tone, and a calculator tool exists so the model does not do arithmetic in its head. That last one is the detail that tells you the author has watched an LLM get a percentage wrong.
The data flow is linear and worth understanding before you customize anything. Tasks are declared in config/tasks.yaml, agents in config/agents.yaml, and the crew in src/a_stock_analysis/crew.py binds them to a model. Inputs are a company name, a stock code and a market, passed as a dictionary. Everything downstream is the model reading tool output and writing prose. There is no caching layer, no database, and no persistence between runs mentioned anywhere in the README, so each run re-fetches from AKShare.
Installing It and Running Your First A-Share Analysis
The README requires Python 3.12 or newer and recommends Poetry. Clone the repository, then install dependencies. The --no-root flag is in the README and matters: without it Poetry tries to install the project itself as a package.
poetry install --no-rootThe README also gives a UV path, which is the shorter route if you already use it. uv sync creates the virtual environment and installs everything in one step.
uv syncNext, copy the environment template and fill it in. The README does not enumerate which variables are required, so read .env.example before assuming an API key is enough.
cp .env.example .envNow run the default analysis. The README states the system defaults to Tencent Holdings (00700.HK).
poetry run python src/a_stock_analysis/main.pyThere is also an installed entry point, which is the cleaner way to invoke it repeatedly.
poetry run a_stock_analysisTo analyze a mainland stock instead, edit the inputs dictionary in main.py. The README gives this exact example for Kweichow Moutai.
inputs = {
'company_name': '贵州茅台',
'stock_code': '600519.SH',
'market': 'SH'
}Stock code suffixes follow the exchange: 600519.SH for Shanghai, 000001.SZ for Shenzhen, 00700.HK for Hong Kong. Expect a long wait on the first run, since four agents each making AKShare calls is not fast, and expect the quality of the output to track whichever model you configured rather than the framework.
Where the Scaffold Breaks Down
The default model is Ollama running llama3.1 locally, per the crew.py example in the README. A local 8B-class model writing four-stage financial analysis is the weakest link in the chain, and the README does not discuss how output quality changes when you switch to a hosted model. It just shows the ChatOpenAI swap. Anyone evaluating this should treat the model choice as the primary quality variable, not the agent design.
AKShare is the second failure surface. It scrapes public Chinese financial sources, and those endpoints change. The README lists the data categories the tools cover but says nothing about error handling when a source returns empty or restructured data. A run that silently produces analysis from a failed fetch is worse than a run that crashes, and nothing in the README suggests the former is guarded against.
The repository layout itself is a signal. The top level contains README.md, stock_analysis/ and stock_analysis_a_stock/, while the README's install steps cd into stock_analysis_a_stock. Two similarly named directories with no explanation in the README means you should confirm which one the entry point actually imports before you start editing files. That is a five-minute check that saves an hour.
Finally, the licence. The README says MIT. There is no licence identifier in the repository metadata, and no LICENSE file is listed in the top-level entries. MIT in a README is a statement of intent, not the same as a licence file that a legal reviewer can point at.
How It Differs from Hand-Wiring CrewAI Yourself
The honest alternative is not another A-share product. It is building the same crew directly on CrewAI, which is the framework this project depends on. The difference is where the domain knowledge lives.
If you wire it yourself, you write the agent definitions and task prompts in Python and you own the AKShare wrappers. This project puts agents in config/agents.yaml and tasks in config/tasks.yaml, so the roles, goals and backstories are editable without touching code, and the tool groups are already assembled and named. That is the entire value proposition: a pre-built A-share tool layer plus a four-role prompt structure you can tune.
The trade-off is that you inherit the author's choices. The four-role split, the task ordering, and the output format are fixed unless you rewrite the YAML, and the YAML is where the analysis quality actually lives. A generic CrewAI example gives you less domain scaffolding but no inherited assumptions about how A-share analysis should be decomposed. If you disagree with splitting sentiment from capital flow, you are editing someone else's structure rather than starting from a blank file.
A second comparison point is any single-agent setup with the same AKShare tools. One agent with all the tools is simpler and cheaper to run, and for a single stock question it may be enough. The four-agent design pays off only if you want the separate perspectives recorded separately, which is a documentation preference as much as an analysis one.
Maintenance, Upgrades and the Licence Question
The last push to the default branch was on 2026-05-07. The repository is not archived, but four months without a push means you should plan to maintain your own fork rather than wait for fixes. There are no releases, so there is no version to pin and no changelog to read before upgrading. Upgrading means pulling main and re-reading the diff yourself.
The dependency surface is the real upgrade cost. CrewAI moves quickly, and langchain imports appear in the README's own example (from langchain.llms import Ollama, from langchain.chat_models import ChatOpenAI). LangChain has reorganized those import paths across versions. If the example in the README no longer matches your installed langchain, that is your first signal that the project's pinned range and your environment have diverged, and you will be the one reconciling it.
On licensing: the README states the project uses the MIT licence. The repository metadata carries no licence identifier and no LICENSE file appears among the top-level entries. MIT is permissive and would let you use this commercially, but a README line is not the same artifact as a licence file, and this is exactly the kind of gap a legal review will flag. Treat the licence status as unconfirmed until a LICENSE file exists, and note that AKShare's own licence and the terms of the data sources it scrapes are separate questions the README does not address at all.
Editorial conclusion
Adopt it if you already run CrewAI and want a working A-share research scaffold whose agent roles and tasks live in YAML you can edit without touching Python. Do not adopt it if you need a maintained dependency, a documented licence file, or anything resembling execution or backtesting, because the repository has not been pushed since 2026-05-07, ships no releases, and its only stated licence claim is a README line. Before you trust a run, verify three things: that AKShare still returns the fields the tools expect for your stock code, that your chosen model actually follows the task output format in config/tasks.yaml, and that the four agents disagree in useful ways rather than converging on the same summary.
Frequently asked questions
Can I use CrewAI to build an agentic AI system like easy_investment_Agent_crewai?
Yes. This project is itself a CrewAI crew: four agents defined in config/agents.yaml, tasks in config/tasks.yaml, and the binding in src/a_stock_analysis/crew.py. It is a working example of the pattern rather than a description of one.
Is CrewAI easy to learn if I start from easy_investment_Agent_crewai?
The project keeps the CrewAI surface small, with agent roles and task definitions in YAML and only the model binding in Python. The README's customization section points at config/agents.yaml and config/tasks.yaml, so you can change behavior without editing code.
Which AI agent is best for investing in the easy_investment_Agent_crewai setup?
The project does not rank models. It defaults to a local Ollama model (llama3.1) in the crew.py example and shows an OpenAI GPT alternative, leaving the choice to you. The README states the system is for study and research and does not constitute investment advice.
Can I make money using AI to invest with easy_investment_Agent_crewai?
The README does not claim any returns and explicitly warns that past performance does not indicate future results. The project produces written analysis from four agents; it contains no execution, position tracking or backtesting component.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/liangdabiao-easy-investment-agent-crewai)