diff --git a/YLErpDAL/Helpers/Dv01Helper.cs b/YLErpDAL/Helpers/Dv01Helper.cs
index 70c0b370..408bdd2c 100644
--- a/YLErpDAL/Helpers/Dv01Helper.cs
+++ b/YLErpDAL/Helpers/Dv01Helper.cs
@@ -7,7 +7,10 @@ namespace YLErp.Helpers
{
///
/// DV01计算工具类
- /// DV01 = 方向 * (券面总额(万元) / 单位面值) * 中债基点价值
+ /// 公式: DV01(万元) = 方向 * (持仓面值(万元) / 单位面值) * 中债基点价值
+ /// 等价业界标准: DV01(元) = 持仓面值(元) / 100 * vobp,本方法输出为该值的 1/10000(即万元)。
+ /// 注意: PosiQuantity 入参须为"元面值"单位(由 PosiNotionalValue/PosiGrossPrice 反推);
+ /// 单位面值默认 100,取自 UnderlyingBond.Price;vobp 为"每100元面值1bp的价格变动"。
///
public static class Dv01Helper
{
@@ -15,11 +18,11 @@ namespace YLErp.Helpers
/// 计算DV01
///
/// 标的代码
- /// 持仓数量
+ /// 持仓数量,须为"元面值"单位(如1000000=100万元面值)
/// 收支方向: 1=收取, 2=支付
/// 多空方向: 1=多头, 2=空头
- /// 中债基点价值
- /// DV01值
+ /// 中债基点价值(每100元面值,收益率变动1bp的价格变动)
+ /// DV01值,单位为"万元"
public static decimal CalcDv01(string underlyingCode, decimal posiQuantity, int posiDirection, int positionType, decimal vobp)
{
if (vobp == 0 || posiQuantity == 0) return 0;
@@ -32,7 +35,7 @@ namespace YLErp.Helpers
int direction = (posiDirection == (int)SwapDirectionEnum.收取 ? 1 : -1)
* (positionType == (int)PositionTypeFlag.Long ? 1 : -1);
- // 券面总额(万元) = 交易数量 / 10000
+ // 券面总额(万元) = 交易数量(元面值) / 10000
double faceValueWan = Convert.ToDouble(posiQuantity) / 10000d;
// 单位面值, 默认100