diff --git a/CHANGELOG.md b/CHANGELOG.md
index 599a397..a4df8aa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@
### 第九阶段:剧情与收尾
+- 金融审查(agy 在独立分支做的数值审查,核实后采纳一部分;报告 ops `research/agy/i_finance.md`,新模拟器 `research/agy_fin/subsim`、`portfoliosim`):
+ - 采纳:`CrcHaircut` 0.95 → 0.85(减记后的持有量比例高于脱锚买入价 0.905,抄底即使遇到减记也不亏,减记形同虚设;现在遇到减记亏约 6%,没遇到仍赚约 10%);`SideArbRate` 0.5 → 0.75(CRA 螺旋时 PSC/CRA 池滞后公允价 43–80%,持 CRA 的人能榨池子);gas 盘公开价"不知道相位"的权重 0.5 → 0.15(`PredictGasBlind`,原来数清周期的玩家胜率 96%、每周净赚约 1,400)。
+ - 没有采纳:`PerpOpenBuffer` 0.02 → 0.01(只让名义 1.5 万以上的 5 倍大单能开,而且贴着强平线开,收益小风险大);派系盘"队列为空必为否"——这个结论的前提是玩家看得到排期,而排期对没有特权的玩家是隐藏的,对有传闻纸条、特权或买了情报的人本来就是内幕单,会被查处;先验每天 6% 是估计值,要用真实的游戏观察校准;NPC 开局算力偏低(回本约 10 天)和前期节奏偏快——设计时的取舍,保持。
+ - 综合模拟(portfoliosim,120 天):纯挖矿第 30 天 22%(符合目标);全做合规约 34%;"粗心出金"(脏币直接出金 + 理财卷走)罪证峰值 750 以上,第 35–45 天逮捕率 100%。
- 外部评审(agy 的整体评审报告,逐条核实后)修复的真实问题:
- 销毁钱包会让资金凭空消失:收益池利息和时间锁取款按钱包地址找人,钱包销毁后找不到就跳过,款项被丢掉。夜间结算改为找不到就回到当前钱包(和预测、质押一致),销毁钱包时有预测持仓、收益池存款或取款、质押、混币在途也一律拒绝。
- Tumbler 剧情进度在生成顾客时就推进:当天没聊完、被清场或读档重来,进度已经走了,最糟的是第 3 次(三选一)没选就跳到第 4 次的"没做选择"分支,剧情报废。改成对话真正走完才推进;第 3 次在做出选择时推进;没聊完明天照样来。游戏内验证:第 1 次聊完日志"进度 1",没聊完的第 2 次不推进。
diff --git a/src/Decentralized.Domain/Tuning.cs b/src/Decentralized.Domain/Tuning.cs
index ba9fff0..c90e4d5 100644
--- a/src/Decentralized.Domain/Tuning.cs
+++ b/src/Decentralized.Domain/Tuning.cs
@@ -197,6 +197,8 @@ namespace Decentralized.Domain
public const double PredictInsiderShare = 0.4, PredictInsiderCatch = 0.5, PredictFraudShare = 0.5, PredictFraudCap = 400;
public const double PredictFactionDaily = 0.06, PredictPMin = 0.03, PredictPMax = 0.97;
public const int PredictHistory = 8;
+ /// gas 盘的公开价里"不知道相位"的权重:越大,数清七天周期的玩家越赚。金融审查(agy_fin/subsim)发现 0.5 时 gas 盘胜率 96%、每周净赚约 1,400,调到 0.15。
+ public const double PredictGasBlind = 0.15;
/// 盘口对消息的反应:每晚向"公开信息下的合理概率"靠拢的比例,以及盘口 logit 上的随机噪声(NPC 流量)。
public const double PredictDrift = 0.5, PredictNoise = 0.35;
/// 夜里价格变化超过多少(概率)写进晨间日志。
diff --git a/src/Decentralized/PredictGame.cs b/src/Decentralized/PredictGame.cs
index aceaed3..cb7ab53 100644
--- a/src/Decentralized/PredictGame.cs
+++ b/src/Decentralized/PredictGame.cs
@@ -127,9 +127,9 @@ namespace Decentralized
return list;
}
- /// gas 盘的公开价:一半按真实相位、一半按不知道相位——七天周期是链上公开的,但盘口里的 NPC 只有一半在看;自己数清周期的人还有一点优势。
+ /// gas 盘的公开价:绝大部分按真实相位、小部分按不知道相位(PredictGasBlind)——七天周期是链上公开的,盘口里的 NPC 多数看得见;数清周期的人只剩一点优势。
private static double GasPublic(SaveData d, int day, double thr) =>
- d.GasPhase < 0 ? PredictMath.GasFlat(day, thr) : 0.5 * PredictMath.GasAtLeast(day, d.GasPhase, thr) + 0.5 * PredictMath.GasFlat(day, thr);
+ d.GasPhase < 0 ? PredictMath.GasFlat(day, thr) : (1 - Tuning.PredictGasBlind) * PredictMath.GasAtLeast(day, d.GasPhase, thr) + Tuning.PredictGasBlind * PredictMath.GasFlat(day, thr);
private static double CraHazard => 1 - Math.Pow(1 - Tuning.CraSpiralWeekly, 1.0 / 7);
private static double CraDrain(SaveData d) => (Tuning.CraNpcStake + d.Staking.Earning) * d.Stable.CraRate;