Commit Graph

23 Commits

Author SHA1 Message Date
OpenClaw Agent
64c1fe60e7 fix: 修复多个金融计算问题
1. CreatePortfolioAsync: 初始建仓交易保存汇率信息
   - 设置 ExchangeRate 和 TotalAmountBase 字段
   - 支持跨币种初始建仓

2. ExchangeRateService: 增强 Mock 汇率降级
   - 扩展支持 EUR、GBP、JPY
   - 未知货币对记录 Error 级别日志

3. PositionItem: 增加 Shares 属性
   - 保留完整精度(解决 Amount int 截断问题)
2026-03-25 05:31:53 +00:00
OpenClaw Agent
5bc318725d feat: 添加组合更新接口,支持修改名称/策略/状态 2026-03-17 01:50:47 +00:00
OpenClaw Agent
c7712e57bb feat: 组合列表增加今日涨跌额和持仓数量
- PortfolioListItem 新增 TodayProfit、TodayProfitCurrency 字段
- GetPortfolios 计算今日盈亏(从净值历史)
- Tags 显示持仓数量(如 '运行中 · USD · 3只')
2026-03-15 23:51:32 +00:00
OpenClaw Agent
61e3023837 fix: 添加缺失的 StrategySignalResponse DTO
- 新增 StrategySignalResponse 类(策略信号响应)
- 新增 SignalAction 类(信号行动建议)
- 修正 PortfolioFacade 属性名为 PascalCase
2026-03-15 13:14:22 +00:00
OpenClaw Agent
4ce29a1036 refactor: 架构优化 P0-P3
P0 - 安全修复:
- 移除硬编码 API Key,启动时校验必填环境变量

P1 - 高优先级:
- Entity 拆分:Position.cs, Transaction.cs 独立文件
- Controller Facade 封装:IPortfolioFacade 减少依赖注入

P2 - 中优先级:
- Repository 抽象:IPortfolioRepository, IMarketDataRepository
- MarketDataService 拆分:组合模式整合 Tencent/Tiingo/OKX

P3 - 低优先级:
- DTO 命名规范:统一 PascalCase
- 单元测试框架:xUnit + Moq + FluentAssertions
2026-03-15 12:54:05 +00:00
OpenClaw Agent
1977dd609d fix: 请求收益曲线时自动回填历史数据
- GetNavHistoryAsync现在会自动检查是否有历史数据
- 无历史数据时自动调用BackfillNavHistoryInternalAsync
- 拆分内部回填方法,避免重复验证权限
2026-03-13 16:21:31 +00:00
OpenClaw Agent
05ca501f40 feat: 新增组合净值历史功能
后端实现:
- 新增PortfolioNavHistory实体,记录每日净值、成本、收益率
- 实现IPortfolioNavService接口,支持净值计算和历史回填
- 支持基于交易记录完整计算历史净值(买入卖出都会更新)
- 计算统计指标:最大回撤、夏普比率、波动率

新增API:
- GET /api/v1/portfolio/{id}/nav-history - 获取净值曲线
- POST /api/v1/portfolio/{id}/nav-history/backfill - 回填历史净值
- POST /api/v1/portfolio/{id}/nav-history/calculate - 计算当日净值

数据库:
- 新增portfolio_nav_history表迁移脚本
- 支持组合级别的净值历史记录
2026-03-13 16:08:59 +00:00
1d99099fca feat: 交易记录接口增加stockCode字段返回 2026-03-10 07:23:34 +00:00
c2ed8266cf feat: 支持transactionDate字段,前端传入的交易日期会自动赋值给TransactionTime 2026-03-10 02:17:36 +00:00
虾球
8830dd17ae refactor: 架构整改 - Ticker 逻辑移到 Service 层,DTO 独立 2026-03-06 10:06:31 +00:00
niannian zheng
b5499ef7fe refactor: 将模型属性改为可为空类型以增强健壮性
- 修改ApiResponse、RiskParityConfig等DTO类的属性为可空类型
- 在策略计算器中添加空值检查逻辑
- 更新服务层代码处理可能的空值情况
- 添加发布配置文件FolderProfile.pubxml
2026-03-06 15:51:59 +08:00
虾球
c994a5bb76 fix: 修复编译错误 - StatusCodes 歧义、重复 UpdateUserRequest 定义 2026-03-06 06:12:44 +00:00
虾球
567504119c feat: 完成 P1 任务 - 今日盈亏、风险平价补全、Mock 数据 PreviousClose 2026-03-06 06:00:38 +00:00
fanfpy
1ec23bef3d feat(币种): 支持CNY/USD/HKD,添加用户默认本位币、币种枚举和入参校验 2026-03-05 10:36:46 +00:00
fanfpy
879e500ff9 fix(记账): 支持AssetType、使用实际买入时间、交易状态设为completed 2026-03-05 10:15:00 +00:00
niannian zheng
31c598c4bc feat(策略): 添加策略描述、标签和风险等级字段
扩展策略模型,新增描述、标签(JSON数组)和风险等级字段
更新策略服务以处理新增字段
修改策略DTO和控制器返回更详细的策略信息
更新API文档示例
2026-03-02 17:13:16 +08:00
niannian zheng
564687bc1e refactor: 移除投资组合详情中的交易记录功能
重构投资组合详情响应,移除了不再需要的交易记录相关字段和逻辑
更新了README文档以反映API变更
2026-03-02 15:37:06 +08:00
niannian zheng
2d1fbd37d8 feat: 添加策略引擎实现及相关组件
实现策略引擎核心功能,包括三种策略计算器和相关DTO定义:
1. 添加双均线策略(ma_trend)计算器
2. 添加吊灯止损策略(chandelier_exit)计算器
3. 添加风险平价策略(risk_parity)计算器
4. 定义策略类型常量类和策略配置DTO
5. 实现策略引擎服务接口和扩展方法
6. 更新项目引用和README文档
2026-03-02 14:15:34 +08:00
niannian zheng
8e75b894ad feat(市场数据): 添加Alpaca市场数据服务实现
添加IMarketDataService接口及实现,支持获取股票和加密货币的实时价格及历史数据
添加MarketDTO定义市场价格和历史数据结构
添加Alpaca.Markets和Microsoft.Extensions.Logging.Abstractions依赖包
在Program.cs中注册MarketDataService服务
2026-02-28 18:49:05 +08:00
niannian zheng
d39a6347cd feat: 实现微信登录和用户信息管理功能
- 添加微信登录功能,支持通过微信小程序登录
- 实现用户信息管理接口,包括获取用户信息和统计数据
- 新增投资组合列表和总资产统计接口
- 完善JWT令牌生成逻辑,支持可选用户名
- 添加数据库初始化配置和连接字符串
- 移除传统登录和注册功能,专注微信登录方案
2026-02-26 11:56:14 +08:00
niannian zheng
2fe0b0c134 Remove bin and obj directories from Git tracking 2026-02-24 19:25:28 +08:00
niannian zheng
a1cec21ea1 chore: 更新项目构建缓存文件和.gitignore配置
更新各项目的构建缓存文件,包括assets.cache和AssemblyInfo相关文件
添加.gitignore文件以忽略常见的构建输出和开发环境文件
2026-02-24 17:10:48 +08:00
cd5c3aedbe feat: 初始化项目结构并添加基础功能
- 创建解决方案及各项目层
- 添加API基础控制器和DTO定义
- 实现JWT认证服务和微信登录服务
- 添加Swagger文档支持
- 配置项目依赖和构建文件
2026-02-18 20:36:09 +08:00