Thanks to visit codestin.com
Credit goes to github.com

Skip to content

superkingjc/parallel-portfolio

Repository files navigation

Parallel Portfolio (平行时空投资组合对比)

为什么要做这个工具?

商业炒股软件往往充满噪音,用满屏的红绿闪烁和极具诱惑力的“回测神级策略”刺激我们频繁交易。而作为一名秉持长期主义的投资者,我们更需要一个绝对私有、白盒计算、没有干扰的净土。

Parallel Portfolio 的初衷,就是为了建立**“认知对冲”**。你可以设立一个满仓蓝筹的对照组,再设立一个你日常操作的实验组。通过真实历史数据的回测对比,用铁一样的数据提醒自己:买好公司,少折腾,才是胜率最高的策略。

相比算术平均的虚假繁荣,本工具独创的**“市值加权统计”与“期初市值分组”**,能帮你彻底看清 A 股财富分配的真实底色。


1. 投资组合对比 (Portfolio Compare)

此模块用于对比多个自定义投资组合在指定时间段内的净值走势。

  • 自定义组合:可添加多只股票,并设置初始持仓股数。
  • 支持现金:支持输入 CASH现金 作为资产项。
  • 股价录入可选:创建组合时,起始股价为可选输入。如果不输入,系统将自动尝试获取该日期的历史收盘价。
  • 自动增量同步:系统会自动抓取所需的行情数据。如果本地数据库缺少某段日期的价格,系统会在计算时自动实时同步,因此同步全量历史价格非必须

投资组合对比截图


2. 全市场年度统计 (Market Statistics)

此模块用于宏观分析 A 股全市场的年度表现,提供深入的统计维度。

  • 收益统计:统计指定年份的涨跌分布、平均收益率及中位数收益率。
  • 市值分类:支持按全市场、大盘 (TOP 300)、中盘 (300-800)、小盘 (800-2000)、微盘 (2000+) 进行筛选。
  • 加权计算:支持按统计年份前一年的年末市值进行加权平均和加权中位数计算,更真实地反映市场重心变化。
  • 数据要求必须预先同步股本信息和历史价格数据(详见下文数据准备)。

市场统计截图


技术栈

  • 前端: Vue 3, Vite, ECharts, Axios
  • 后端: FastAPI (Python), SQLAlchemy, AkShare (数据源), Pandas
  • 数据库: SQLite (本地轻量级数据库)

安装与运行

1. 环境准备

  • Node.js (建议 v16+)
  • Python (建议 v3.10+)

2. 安装步骤

# 克隆项目
git clone https://github.com/superkingjc/parallel-portfolio.git
cd parallel-portfolio

# 安装前端依赖
npm install

# 安装后端依赖
cd backend
python -m venv venv
source venv/bin/activate  # Windows 使用 venv\Scripts\activate
pip install -r requirements.txt

3. 启动项目

启动后端:

cd backend
python main.py

首次启动后端时,系统会自动同步最新的全 A 股代码及名称名单。

启动前端:

# 在根目录下
npm run dev

数据准备 (仅针对全市场统计功能)

如果你需要使用“全市场年度统计”功能,请在后端虚拟环境下运行以下脚本同步必要的数据:

第一步:同步股本及详细信息

抓取全 A 股的总股本、流通股、上市日期等,用于市值计算和上市不满一年股票的剔除。

python sync_info_details.py

第二步:同步历史行情

抓取全 A 股的历史日线数据。由于数据量庞大(5000+ 股票),初次同步可能耗时较久。

python sync_prices.py

免责声明

本工具仅供学习交流 and 技术研究使用,不构成任何投资建议。数据来源于 AkShare 开源社区,对数据的准确性和完整性不作担保。

About

平行时空投资组合对比 调仓分析工具 价值投资 股票跟踪分析 全市场年度统计

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors