一、完成买入时机应买入金额计算
1)交易单位净值 > 最新单位净值 且 剩余份额>0的,计算出:累计市值、累计成本净值;若没有成本记录,跳至步骤5
2)累计成本净值与最新单位净值相比,计算跌幅,取跌幅购买系数
3)以当前PE分位,获得对应的买入PE分位买入系数,用 跌幅购买系数*PE分位买入系数*累计市值,计算成本分摊买入金额
4)以当前PE分位数计算当前最高持仓仓位(1-PE分位),用最高持仓金额 乘以 当前最高持仓分位 计算最高持仓市值,以 MIN(最高持仓市值 - 当前持仓总市值, 0),计算剩余可够额度
5)若没有成本,本次应买入为:MIN( 剩余可够额度, 最低买入金额 )
6)若有成本,本次应买入为:MIN( MAX( 最低买入金额,成本分摊买入金额(步骤2) ), 剩余可够额度 )
二、完成卖出时机应卖出份额计算
1)交易单位净值 < 最新单位净值 且 剩余份额>0的,计算出:累计市值、累计成本净值;若没有成本记录,跳至步骤5
2)累计成本净值与最新单位净值相比,计算涨幅,取对应的涨幅卖出系数
3)以当前PE分位,获得对应的卖出PE分位系数,用 涨幅卖出系数*PE分位卖出系数*累计市值,计算应卖出金额、应卖出份额(应卖出金额/当前最新单位净值)
4)以当前PE分位数计算当前最高持仓仓位(1-PE分位),用最高持仓金额 乘以 当前最高持仓分位 计算最高持仓市值,以 MIN( (最高持仓市值 - 当前持仓总市值)*-1, 0 ) 计算本次应减持金额、应减持份额(应减持金额/当前最新单位净值)
5)若没有成本,本次卖出份额为0
6)若有成本,本次卖出份额为MAX( 应卖出份额, 应减持份额 )
数据库发布脚本
DROP TABLE IF EXISTS trdng_var_def; CREATE TABLE trdng_var_def ( var_type varchar(20) NOT NULL COMMENT '参数类型', type_seq int NOT NULL COMMENT '类型序号', low float COMMENT '范围底', high float COMMENT '范围顶', var1 float COMMENT '变量1-数字型', var2 varchar(20) COMMENT '变量2-字符型', account_no varchar(20) COMMENT '关联账户', commnet varchar(100) COMMENT '备注', PRIMARY KEY (var_type, type_seq) ) ENGINE = InnoDB CHARSET = utf8; ALTER TABLE fund_list ADD COLUMN link_index varchar(10) NOT NULL AFTER holding_status; ALTER TABLE fund_estmt_nv ADD COLUMN gsz float NOT NULL AFTER gz_acc_nv;
文章评论