项目展示
这里展示我开发的一些投资与自动化相关项目。
1. 行业生命周期分析系统
项目类型: 金融数据分析平台
技术栈: Python + Flask + Pandas + Chart.js
一个基于 A 股上市公司财务数据的行业生命周期分析系统。通过多维度指标(毛利率、ROIC、资本开支、营收增速等)对申万三级行业进行生命周期阶段划分,帮助投资者识别行业所处的发展阶段。
核心功能
- 📊 行业数据可视化: 多维度散点图展示行业关键指标
- 🔄 生命周期分类: 自动识别行业所处阶段(成长/洗牌/出清/成熟等)
- 📈 指标追踪: 毛利率、ROIC、营收增速等核心指标历史走势
- 🏭 申万行业树: 完整的申万三级行业分类体系
技术亮点
- 基于 Pandas 的大规模财务数据处理
- 前端使用 Chart.js 实现交互式数据可视化
- RESTful API 设计,支持动态数据查询
- 数据自动缓存与热更新机制
在线访问: https://lifecycle.xiafansheng.com
2. 宏观监测系统
项目类型: 宏观经济数据看板 技术栈: Python (ETL) + iChoice EMQuantAPI + Vite + React
一个本地化的宏观数据监测网页系统,参考热力图风格呈现 26 个国内外宏观指标(GDP、CPI、PMI、社融、M2、非农、海外通胀等),并支持与 12 个市场标的(A 股指数、国债收益率、资金利率等)的关系分析,辅助判断宏观环境对资产价格的传导。
核心功能
- 🌡️ 指标热力图: 26 个宏观指标的时序热力图呈现,一眼看出周期位置
- 🔗 指标-标的关联分析: 双轴折线图对比宏观指标与股债商品标的的同步性
- 📅 多频率支持: 月度(CPI/PMI)+ 季度(GDP)+ 日度(利率)混合频率自动对齐
- 🔄 一键数据更新:
./update.sh拉取最新 iChoice 数据并刷新前端
技术亮点
- iChoice EMQuantAPI 拉取宏观数据,落地为 JSON 供前端消费
- React + Vite 前端,DualAxisChart 组件处理多频率指标对齐
- 指标元数据通过
config/indicators.yaml声明式管理,新增指标无需改代码
在线访问: https://macro.xiafansheng.com
3. 市场数据库 (Market Data)
项目类型: 金融数据库管理系统 技术栈: Python + FastAPI + SQLite + Alpine.js + ECharts + Tailwind
一个集中管理多资产投资部所有市场数据的可视化数据库系统。基于 iChoice/EMQuantAPI 拉取 8 大分类共 403+ 指标(债券/宏观/权益/资金/外汇/商品/海外/可转债/股票),自动维护时间序列,支持网页端搜索、增删、可视化与手动触发更新。
核心功能
- 📊 数据库概览仪表盘: 总指标数、有数据数、完整度、最新更新时间一目了然
- 🔍 指标搜索与列表: 按代码/名称/分类搜索,显示成立日期、最新日期、数据条数
- ➕ 增删指标: 网页直接添加 iChoice/Wind 代码,下次更新自动拉取 2000 年至今历史
- 📈 走势图表: 点击任意指标查看时间序列折线图(ECharts)
- 🔄 手动触发更新: 支持 smart/full/incremental/retry 四种更新模式
- ⏰ 自动定时更新: systemd timer 每个工作日 17:00 自动执行 smart 增量更新
技术亮点
- iChoice EMQuantAPI 在 Linux 服务器上跑通(首次实践)
- 智能更新逻辑:新指标拉完整历史,存量指标从最新日期增量
- FastAPI 后端,支持 REST API 远程调用(Mac/Python 客户端可直接连接)
- 单页前端,无构建依赖,纯 HTML+CDN 部署
Python 客户端调用示例
import requests
# 查询沪深300的时间序列
r = requests.get("https://market.xiafansheng.com/api/indicators/000300.SH/timeseries?start=2024-01-01")
data = r.json()["data"] # [{"date": "2024-01-02", "value": 3422.5}, ...]
# 查询所有宏观指标
r = requests.get("https://market.xiafansheng.com/api/indicators?category=宏观&page_size=100")
indicators = r.json()["items"]在线访问: https://market.xiafansheng.com
4. 月度市场复盘看板
项目类型: 多资产市场监测仪表盘 技术栈: React + Vite + Tailwind + Radix UI + Recharts
一个用于多资产投资部月度复盘的资产监测仪表盘,覆盖权益(上证指数/标普500/中证转债)、债券(7-10年国开/1-3年高信用等级/10年美债)、汇率(USDCNY/锁汇成本)、商品(沪金/螺纹钢/原油/豆粕)共 12 个核心资产。每个资产展示当前位置在 3 年区间的分位、与中位数的偏离度、最近 21 个交易日和 3 年走势图。
核心功能
- 📊 资产分位图: 当前指标在 3 年区间的位置(绿/黄/红渐变条 + 圆点标记),一眼判断便宜还是昂贵
- 📈 走势对照: 21 天近月走势 + 3 年历史走势双时间维度
- 🧮 衍生指标: 自动计算股债性价比、信用利差、期限利差、锁汇成本、内外盘价差等复盘必看指标
- ⚡ 实时数据: 浏览器打开页面即从
market.xiafansheng.com/api/monthly-market-review实时拉取数据 - 🔄 数据自动跟随: 每个工作日 17:00 后市场数据库更新,网页刷新自动看到最新数据,无需任何中间数据同步
技术亮点
- 零中间层架构: 浏览器 → market-data REST API → SQLite,全程实时计算无缓存 JSON
- 后端实现复杂衍生指标计算(FX 锁汇成本、内外盘价差、螺卷差、ERP 等)
- 前端 Recharts 渲染分位条 + 走势曲线,无第三方图表依赖(除 Tailwind/Radix)
- Vite + 生产环境 ENV 注入 API URL,dev/prod 切换零配置
数据上游
本项目数据完全来自 市场数据库(market.xiafansheng.com),调用 /api/monthly-market-review 端点。该端点根据 monthly_market_review.py 配置的资产代码映射,从 SQLite 中拉取最近 3 年和最近 1 个月的时间序列,并在请求时即时计算各类衍生指标返回。
在线访问: https://review.xiafansheng.com
5. 多资产配置回测系统
项目类型: 投资组合分析工具
技术栈: Python + Flask + Pandas + NumPy
一个多资产类别(A 股、海外权益、债券、商品、外汇)的组合配置回测工具。支持用户自定义资产配置比例,直接读取服务器 market_data 数据库中的历史行情,计算组合历史表现并输出关键绩效指标。
核心功能
- 💼 资产配置: 支持沪深300、中证500、创业板、标普500、纳斯达克、纯债基金指数、南华商品、黄金、USDCNH 等资产
- 📅 回测区间: 自定义回测起止日期
- 📊 绩效指标: 计算总收益、年化收益、波动率、夏普比率、Calmar、最大回撤等
- 🧭 滚动表现: 输出今年以来、近 1/3/6 月、近 1/3/5 年和成立以来的滚动年化收益
- 📆 年度收益: 输出每年收益率、年度最大回撤、期初净值和期末净值
- 📈 净值曲线: 可视化展示组合净值走势
技术亮点
- 实时数据库读取: Flask API 直接查询
/home/myproject/market_data/data/ichoice_data.db - 统一组合引擎: 对不同资产的交易日做前值填充和权重归一,按日计算组合收益
- 轻量前端: 原生 HTML/CSS/JS + SVG 净值曲线,无需额外前端构建链路
- 生产部署: systemd 托管 Flask 应用,Nginx 反向代理到独立子域名
在线访问: https://backtest.xiafansheng.com
更多项目
持续更新中...
如果你对我的项目感兴趣,欢迎通过以下方式联系我:
- 📧 邮箱: [你的邮箱]
- 💬 微信公众号: 中统特工局