Commit Graph
11 Commits
Author SHA1 Message Date
hjhan 7a5089555d fix(fr007-cache): 直查命中失效快照+去冗余排序+重载失败保旧快照防重试风暴
- EodPriceQueryService.TryGetPrice: FR007 快照 miss 直查库命中后 Invalidate,
  下次访问整表重载回 O(1),否则该键 TTL 窗口内每次读取都退化为点查
- 移除点查多余的 OrderByDescending(主键等值查询取首行即可)
- Fr007FixingCache.EnsureFresh: 重载失败(DB抖动)保留旧快照不抛并重置TTL时钟
  ——历史定盘不可变旧值依旧正确,同时防重试风暴;版本失效路径不受TTL掩盖
- 补两测试: 重载失败保快照窗口内不重试 / 首次装载失败miss不抛窗口内不重试
2026-08-18 09:33:28 +08:00
hjhan e219bdae18 feat(swap): FR007定盘整表快照缓存——预载全历史O(1)命中,miss不缓存,写侧失效+1min TTL兜底
数据形态:每工作日一行、发布后不变、全历史仅数千行 → 整表快照优于逐键缓存。
① Fr007FixingCache:首次访问批量SELECT全历史进字典,此后读取O(1)零查询;
   快照以引用替换发布(Volatile),读侧无撕裂,重载加锁去抖;
② 负缓存防线:miss(当日~11:15未发布/补录历史)永不进快照,TryGetPrice 回退直查库——
   否则发布后TTL窗口内仍查不到,上午平仓会一直用回退利率;
③ 写侧版本失效:SwapFlowService 新增/修改/删除 FR007 后 Invalidate,下次访问立即
   整表重载不等TTL;其余通用写入口(导入/复制/合成/直改库)靠TTL兜底,可见性≤1分钟;
④ TryGetPrice 仅 FR007 走缓存路由(全仓生产调用方仅 SwapDealService.TryGetFloatRate
   与 Fr007IndexFixer 两处,均定盘链),其他标的照旧直查,零影响;
⑤ YLErpDAL 增加 InternalsVisibleTo("UnitTestProject"),时钟/装载器测试接缝保持 internal。

验证:Fr007FixingCacheTest 5/5(预载命中/miss不缓存/写侧立即生效/TTL过期重载/稳态零重载);
GLMS20260817Fr007UnwindMorningTest 等内存套件 55/55 全绿。
2026-08-18 08:24:21 +08:00
yexuzhong 55b58856a5 #EQD-6787 国联民生-期权相关问题修复(2)PriceProvider支持债券表(Chinabondvaluation) 2026-07-31 15:06:16 +08:00
yexuzhong 5d580960d8 #EQD-6669 国联民生-期权希腊值计算步长和细节调整(定价引擎部分) 2026-07-31 10:35:25 +08:00
hjhan a17cdc2b74 fix(期权到期): 债券标的到期取价补查中债估值表,并标注债券净/全价映射不一致(Layer2)
- EodPriceQueryService 新增 TryGetSettlementEodPrice:债券走中债估值、期货/股票走原路径
- 单笔 tradeExpireInner + 批量 MultipleTradeExpireConfirm 改用统一方法,修 GLMS-20260715-0002 债券期权到期报'结算价未找到'
- 移除批量路径未初始化的 EodPriceProvider(对债券无效且有误导性的 footgun)
- Layer2:标注 EodPriceProvider.Initialize 与 GetBondPrice 债券 ClosePrice/SettlePrice 净全价定义相反,待统一(不改逻辑)
- 新增白盒单测覆盖债券标的到期取价(3用例 DB驱动,均通过)
2026-07-16 14:41:44 +08:00
hjhan e1df4ded13 docs: FR007 ReferencePrice 小数口径注释(利息腿计算无需再 ÷100)
EodPriceQueryService.TryGetPrice 读取 eod_commodity_future_price.ReferencePrice
作为 FR007 浮动利率参与利息计算。说明该行 ReferencePrice 无论 bond-sync 自动
同步还是界面手工录入,写入时均已 ÷100 为小数口径,利息腿计算直接作为 floatRate
参与 principal*(fixedRate+floatRate)/annualDays,无需在计算侧再次 ÷100。
2026-07-14 11:33:15 +08:00
hjhan 782e1f6a7a refactor(swap): 债券价格÷100转换收敛到BondPriceConverter统一入口
消除9处价格转换字面量(*0.01m/*100),统一走BondPriceConverter.ToStorage/ToDisplay。
- 新增YLErpDAL/Helpers/BondPriceConverter.cs(含可空重载)
- 批次1(危险字面量): BondPaymentService/RealtimePnlCalc/RealTimeClientBanlanceService/SwapTradeAutoService
- 批次2-4(调用收敛): SwapFlowService/SwapFlowImportService/SwapEndConfirmService/EodPriceProvider/EodPriceQueryService
- RealtimePnlCalc:601/602价格×数量维度交织处加注释,不机械合并

不改bondPriceMultiple常量值,纯调用方式收敛。SwapModule 155测试全绿,行为不变。
2026-07-03 08:22:27 +08:00
吴方海 be1727ad0f 客户适当性有效期 2025-04-16 17:09:22 +08:00
吴方海 8e61f23e18 保证金算法&资金计算 2025-04-16 15:15:59 +08:00
吴方海 acbd2e7678 山证bug修复及功能 迁移 2024-06-04 18:19:49 +08:00
吴方海 f9d8a256a6 从山证v2.3.0拷贝 2024-05-09 14:06:26 +08:00