算法一:风险度=保证金+期权卖方浮动保证金/客户权益;
--风险度0 算法一:(保证金+浮动保证金+保证金冻结+执行冻结)/客户动态权益
--算法二:-风险度=(可用资金)/(保证金+期权浮动保证金);
如果可用资金>0,则风险度 = 0
--算法三:
风险度=
如果权益包含浮动盈利
保证金-浮动盈亏/今日结存
如果权益不包含浮动盈利
如果浮动盈利计入可用资金
(保证金-浮动盈亏+期权浮动保证金)/今日结存
如果浮动盈利不计入可用资金
(保证金-浮动亏损+期权浮动保证金)/今日结存
算法四:
风险度= 如果浮动盈利计入可用资金
(保证金+期权卖方浮动保证金)/(客户权益)
如果浮动盈利不计入可用资金
(保证金+期权卖方浮动保证金)/ (客户权益-浮动盈利)
--风险度0 算法四:如果浮动盈利不计入可用资金:(保证金+期权卖方浮动保证金+保证金冻结+执行冻结)/(客户动态权益-浮动盈利)
--如果浮动盈利计入可用资金:(保证金+期权卖方浮动保证金+保证金冻结+执行冻结)/客户动态权益
算法五:
风险度=(客户权益)/保证金
--如果浮动盈利计入可用资金
--(客户权益)/(保证金+期权浮动保证金)
--如果浮动盈利不计入可用资金
-- (客户权益-浮动盈利)/(保证金+期权浮动保证金)
--客户动态权益/保证金+期权卖方浮动保证金
--风险度0:算法五:客户动态权益/(保证金+保证金浮动+保证金冻结+执行冻结)
算法六:
如果浮动盈利计入可用资金
(客户权益-期权市值)/总持仓金额
如果浮动盈利不计入可用资金
(客户权益-浮动盈利-期权市值)/总持仓金额
if: 分母 < 0
risk_degree1 = 10
risk_degree0 = 10
if: 分母 = 0
if:算法为5或6
if:分子 >= 0
risk_degree1 = 10
else:
risk_degree1 = 0
else:
if : 分子 <= 0
risk_degree1 = 0
else:
risk_degree1 = 10
else(分母不为0):
if:风险度>10
risk_degree0 = 10
else
if: 风险度 < -10
risk_degree0 = -10
else:
risk_degree0 = 风险度
如果风险度1的算法是1-4,那么风险度2的算法为:(交易所保证金+交易所浮动保证金)/权益。
如果权益为零,而保证金 <= 0 , 风险度2置为零;保证金> 0,风险度置为10;
与风险度算法一保持一致
如果风险度1的算法是5-6,那么风险度2的算法为:权益/(交易所保证金+交易所浮动保证金)。(保持不变)
如果交易所保证金为零,而权益< 0 则是穿仓, 风险度2置为零;权益>= 0,风险度置为10;
exec CalCustRisk
'1', --查询标志('1':结算,'2':交易)
'2', --风险算法
-0.89, --今日结存
-3802816.0000, --浮动盈亏
-3802816.8900, --客户权益
120015.2000, --保证金
-3922832.0900, --可用资金
0, --总持仓金额(风险算法6时才用)
15.2000, --交易所保证金
'1', --风险级别标准('1':按风险度标准,'2'按交易所标准,'3'混合方式)
0, --基础保证金 (default)
0, --在途资金 (default)
0, --未交割盈亏 (default)
@risk_degree1 output,--风险度1
@risk_degree2 output,--风险度2
@risk_level output, --风险级别
0, --浮动盈亏是否计入客户权益的参数设置
0 --浮动盈亏是否计入可用资金的参数设置