版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、风控报表公式详细说明1. 报表界面风控报表界面 菜单中选择“报表-“风控报表即可弹出风控报表界面:界面功能:1. 选择基金名称;如果是货币基金;“价格编辑按钮可用;如果为非货币基金,“价格编辑 按钮不可用;2. 选择日期,时间段可以自由选择,最小可以是一天。报表数据为此时间段的数据。3. 点击“生成报表;将根据帐户类型(货币还是非货币)生成对应的报表;并显示进度;当生成报表 完成,有文字提示“报表生成完毕!。4. 如果是货币基金,还可以进行债券手工价格编辑或者编辑买入收益率,点“价格编辑将弹出 如下界面币坊代码名称愉格|收益军厲口买入收益军0U1恨行间)111608農华09. S90.732T
2、8.85242損行间08811J2w 上 iSiiCPOl10】27-S 06930.50663帳疔间088114008 航一cmi10 27吒.0693L305T4银厅间08811698 华 IScroi10 58-L 16271 7233一|5餵灯间0881195os 南 IFcroi103 71-0 83194 8056 _J6银行间0881204L 08淮南矿CPD2 2J103 65-0.34034 75537垠行间0881207讯苏圉信CF03101 63-C.30684 6218088120908±Scroi101 67-0 04324.98399088121608京国
3、资CP01101 780. 15054, 359910银行间086124508<fflCH)210L30572.713111088124S08 中 St 集 CFD1101.06a 9452.340112WMrfl J0881257讯中石化CFQ1100.26-L7682L6641J13闾038126108 中 rcpoi100 761 099Z 4426K HI行间098108609 慷投 CPOl100. 12.18464.139115|很行间080106408央行薫JgB410002,3842090106708央行蕈齋时99.980 6659L 191117080107008央行乎
4、据T099.960.8146L915518帳行1鼠)107908央和票槟T8的90.94084 02S9靑盖已设定谪格设置会i十估谊淨讨i=1* 3: 聲覆卑邸酩话駅豔鈿顔鑼磊聽黎黠值价在界面中可以对头寸集合中的债券品种的价格进行编辑;价格范围15,200;价格和收益率可以互相换算,浅紫色背景为贴现券,贴现券的输入价格为全价,其他债券为净价。(互相换算方法:价格)收益率:贴现券:myYield = myIMBond.GetYield( mBondDate, myPrice, Dirty_Price )'利用全价计算收益率其他券: myYield = myIMBond.GetYield(
5、mBondDate, myPrice, Clean_Price )'利用净价计算收益率 收益率价格:myPrice = myIMBo nd.GetPrice( mBon dDate, myY ield )'全价贴现券:价格=myPrice '全价其他券先计算利息,用全价-利息 =价格: mylnterest = mylMBond.GetAccruedlnterestNewmBondDate myPrice = myPrice - myln terest'净价买入收益率列的增加是在 2021年1月12号-2021年1月26号进行的,具体的文档见本文档附录5. 头寸
6、债券初始价格为空,需要手工输入;如果想使用会计估值净价对债券价格进行初始化,点击“设置会计估值净价即可此时没有价格的债券或者价格不合法的债券都将被初始化。如果选上“覆 盖已设定价格;那么所有的债券价格都将被初始化。6. 编辑价格完毕后需要点击“保存才能将价格保存到数据库中头寸集合中;如果保存成功,将有文字提示“保存成功!,价格可以为空。7. 点击“关闭按钮将价格编辑界面关闭;8. 对于货币基金;每次生成报表时都会检测头寸集合中是否有债券品种信息;如果没有,将有提示;然后继续生成报表9. 对于货币基金,每次生成报表时都会检测头寸集合中的债券价格信息;如果有的债券品种价格 没有;将会有提示如下列图
7、;如果选择“是;将弹出价格编辑界面,如果选择“否 将继续生成报表。操作提示Q 债券价格信息不全是否手工编辑它2. 强债基金风险监控概览 蓝色 为开发时实现方法2.1强债基金风险监控周报强债基金风险监控周报时间开始日期-截止日期整体久期上周整体久期债券上周利率及短债久期上周基金规模上周整体仓位仓位亿元占净值比例%债券仓位亿兀/基金规模即标号股票同上现金(11)同上一年内到期政府债券(12)同上【整体久期】截止日期,整体久期,取值=资产明细2界面,“基金概览选项卡中的“组合久期【整体久期债券】截止日期,债券头寸集合的久期,用单债券的 修正久期*权重汇总【利率及短债久期】获得截止日期债券头寸,从中筛
8、选出国债、政策性金融债、央票+剩余期限在3年内的其他债券,然后, 用单债券的 修正久期*权重 汇总【基金规模】取基金净资产=总资产-负债=头寸集合ColATSecurityPosition.objColIncome ncomeTotal. Asset-头寸集合ColATSecurityPosition.objColIncome .IncomeTotal.Debt-【上周】日期取开始日期前一个自然日,公式同该行左边【债券】债券头寸取金额即净价 *数量后进行汇总取值等于资产明细界面,根据报表帐户及日期,所得债券市场金额万汇总【股票】股票头寸取金额即净价*数量后进行汇总取值等于资产明细界面,根据报表
9、帐户及日期,所得股票市场金额万汇总11【现金】现金头寸取金额即数量后进行汇总取值等于资产明细界面,根据报表帐户及日期,所得存款-活期存款-活期存款-深圳的市场金额万或数量12【一年内到期政府债券】筛选出剩余期限在一年内到期的国债、政策性金融债、央票的头寸,汇总金额净价*数量取值等于资产明细界面,根据报表帐户及日期,所得债券,过滤出符合上述条件的债券 后,对市场金额万汇总 注意:1单个债券修正久期的计算用函数 CalculateBondlnf2单个债券 权重 =ClsATSecurityHold .ShadowPrice * CIsATSecurityHold.HoldQty/帐户头寸净资产3净
10、价 * 数量 =ClsATSecurityHold .ShadowPrice * CIsATSecurityHold.HoldQty4数量=CIsATSecurityHold.HoldQty5现金头寸取值:BT SecEvaIuateVaIueDic表 SecurityID=300004752.2上周主要操作上周主要操作债券局部卖出亿元买入亿元证券名称价值万剩余年限年证券名称价值万剩余年限年股票局部简称市值万占基金净值比例%单位本钱元单位市值元转入时间(11)2(13)圍(15)(16)附计算方法和公式: 获取债券交易记录开始日期 一截止日期循环集合,判断单条交易记录的tradeType =
11、“ 0203 卖出或者“ 0202 债券买入,分 别填入表格相应位置。【卖出亿元】汇总卖出债券金额【证券名称】取证券简称【价值万】取交易记录的金额,注意单位=my lATTradeRecord.SettlementAmount取值等于交易-交易查询按类型界面,根据报表帐户及日期范围 开 始日期一截止日期所得交易类型为“债券卖出的债券的交易金额元,【剩余年限年】剩余期限按年处理保存2位小数,注意单位计算及取值等同于资产明细界面,根据选定帐户和日期,行权赎回权、回 售权后,所得结果集中的“剩余存续期 年债券买入局部,同卖出局部 同 读取股票的交易记录开始日期 一截止日期和截止日期的头寸11【简称】
12、证券简称12【市值 万】头寸对象CisSecurity .shadowPrice*.HoldqQty/ 10000取值见附13【占基金净值比例 】 头寸对象 CisSecurity .shadowPrice*HoldqQty /基金净资产 * 100手工计算(14)【单位本钱(兀)】头寸对象(CisSecurity ) .CostPrice取值见附(15)【单位市值(兀)】头寸对象(CisSecurity ) .ShadowPrice取值见附(16)【转入时间】从交易表中查询,用开始日期、截止日期两个日期参数取得股票的交易记录集合,把每一条的买入日期记录在“转入时间内字符串型,如遇多个日期那么
13、用“,"号分隔。附: 基金净资产 =头寸集合(ColATSecurityPosition) .ObjColIncome.IncomeTotal.NetValue读取股票交易记录的语句SELECT a.CostBala nee, a.costprice, a.shadowvalue / a.am ount AS SUM FROM BT_SecEvaluateValue a INNERJOINBT_SecEvaluateValueDic b ON a. RelatID = b.IDWHERE (LEN(b.PropCode) > 0) AND (a.JSZDate = '2
14、021-02-20') AND (b.Accou ntID = 13) AND(b.JSZType = 81)ORDER BY a.JSZDate其中结果集中的:CostBalanee市值(万)Costprice单位本钱SUM单位市值2.3详细持仓分析基金名称债券局部仓位亿占比% 国债交易所国债银行间政策性金融债企业债交易所企业债银行间可转债27.35%T5S吨67%7.56%&.6C%0W用9.04%2.10% )63%I(B230%25%20%15%10%5% 22TK2G"i.1 36% 0 54%! I .I .4-i-cfc- -dz. 年2345r20.5
15、3%1 fl. 30 %专 令 irJa rj- MAO- fi J3n【仓位亿】取日期为截止日期的头寸集合,循环头寸过滤出相应类型央票、国债交易所、国债银行间、政策性债 ?.,取得市值=影子价格*数量。将所有符合条件的数据加和汇总后得到仓位,注意单位是亿元市值 =myCIsSecurity.HoldQty * myCIsSecurity.ShadowPrice求和取值等于资产明细界面,根据报表帐户及日期,所得不同类型再汇总市场金额万!注意:政策性金融债、企业债 交易所、企业债银行间的分类方法,附下面 【占比%】1仓位亿的值/基金净资产基金净资产 即sheet页【强债基金风险监控概览中】的基金
16、规模附 政策性金融债确实定:IMBon d. nn erB on d.mtype2=金融债且 匸true【企业债交易所】的划分: 企业债+公司债【企业债银行间】的划分: 企业债+公司债+次级债+非政策性金融债 图表中的图设计方法: 本周左图取截止日期债券头寸分析,横坐标:剩余年限分组 资产明细界面,考虑行权后,所得的期限分组纵坐标:为本钱余额 /净资产的比值= 每个期限范围内的,所有单个头寸的本钱金额求和 / 资金净资产= 同期限头寸对象 ClsATSecurityHold .shadowPrice* ClsATSecurityHold .HoldQty 求 和/基金净资产基金净资产 同 sh
17、eet 页【强债基金风险监控概览】中的基金规模数据参见 sheet 页<详细持仓分析 > ,I、J 列 上周右图取开始日期前一自然日债券头寸分析,横坐标:剩余年限分组 资产明细界面,考虑行权后,所得的期限分组纵坐标:为本钱余额 /净资产的比值=每个期限范围内的,所有单个头寸的本钱金额求和/资金净资产= 同期限头寸对象 ClsATSecurityHold .PriceBalance 求和 / 基金净资产基金净资产 同 sheet 页【强债基金风险监控概览】中的基金规模 数据参见 sheet 页<详细持仓分析 > ,I、J 列2.4附录读取一天的所基金名称加强型债券基金的净
18、值统计证券简称基金规模亿成立时间累计费率%单位净值亿近一 表现个月09年以来 表现!注意:此报表用到的数据是数据库中的债券行基金数据,时间为上周五, 基金净值数据,然后过滤 TypeDesc=2 :加强行债券基金 【证券简称】根据交易品种集合lookup 函数传入交易id号取得基金对象,然后得到证券简称【基金规模亿】BT_BMFFinance表中的FundSum字段【成立时间】bt_fund表中的合同生效日,参照徐柳发的文档【累计费率% 】基金费率信息表BT_FundFee中的基金管理费+托管费+销售效劳费 【单位净值%】直接用数据库HQ_OpenFundlncome中的字段UnitNet ,
19、【近一个月表现】根据截止日期推算上一个月的日期,广发强债:分析日累计单位净值一1个月前的累计单位净值 其他强债基金:分析日累计单位净值一1个月前的累计单位净值+费率调整t基金i分析日费率 广发基金分析日费率ti|127【09年以来表现】 广发强债:分析日累计单位净值一上年12月31日基金累计单位净值其他强债基金:分析日累计单位净值一上年12月31日基金累计单位净值+t基金i分析日费率 广发基金分析日费率*截至分析日本年度已有天数t365其中基金i非广发强债基金!截至分析日本年度已有天数:分析日与本年度1月1日间隔天数附:【基金规模亿】字段的获取,需要通过三个表:BT_BMFReportDic债
20、券型基金公告报表分类字典表BT_BMFBullet in BaseI nfo公告根本信息BT_BMFFi nan ce主要财务指标取数据流程:上述三表关联,取得BT_BMFFinance 主要财务指标的FundSum值此条数据对应 BT BMFBullet in Base Info 中 DeclareDate 必须是距离现在最近的SQL查询语句如下:SELECT a.Bulleti nID, a.ReportTypelD, a.F un dSum, a.MoreTradevarietylD, b.ReportTypeDesc, b.ReportTypeCode,c.Fu ndGroupID,
21、c.DeclareDate, c.Fi nanceY ear, c.F inan ceQuarter , c.Bulleti nType FROM BT_BMFF inance a INNERJOIN BT_BMFReportDic b ON a. ReportTypeID= b.ReportTypeID and b.ReportTypelD=57 INNER JOINBT_BMFBulletinBaseInfo c ON a.BulletinID = c.BulletinID ORDER BY c.DeclareDate DESC强债持有明细年限债券名称净值亿收益率%修正久期年剩余年限年(1
22、1)(12)3近一个月强债排名4上周(16)09年强债排名5上周(17)!注意:强债持有明细用周五的头寸筛选出债券的进行分析【年限】 按期限范围3个月,6个月,1年?汇总注意:要修改模版的年限合并风格【债券名称】债券简称=myIMB on d.ShortName【净值亿】单个头寸的净价*数量=ClsATSecurityHold.ShadowPrice * CIsATSecurityHold.HoldQty当该只债券是交易所时按上述方法,但是银行间的情况要取该只基金的数量ClsATSecurityHold.HoldQty11【收益率%】用单债券的收益率单债券的收益率计算用新增函数Calculat
23、eBondInf_Report ,计算时采用alpha利息12【修正久期年】用单债券的 修正久期单债券的修正久期计算用新增函数CalculateBondInf_Report,计算时米用alpha利息13【剩余年限年】计算及取值等同于资产明细界面,根据选定帐户和日期,行权赎回权、回售权后,所得结果集中的“剩余存续期年14将净值统计表的数据根据“近一个月表现排序,取得广发基金的排名15将净值统计表的数据根据“09年以来表现排序,取得广发基金的排名(16) (17):同上,日期取开始日期前一个自然日3. 货币基金风险监控模板3.1货币基金风险监控概览货币基金风险监控周报基金名称(1)时间(2)基金A
24、排名(周期内万份基金单位净收(3)上周期基金B排名(周期内万份基金单位净收(5)上周期(6)益模(7)组合久期(8)浮息债久期(9)利率产品久期(10)买入卖出名称金额(亿)名称金额(亿)(11)(12)(13)(14)(1)【基金名称】货币基金帐户名称;【时间】开始日期截止日期; 【基金A排名】 上周货币基金帐户基金 A(不包括B基金)的每日万份收益排名;* 【上周】 上上周货币基金帐户基金 A(不包括B基金)的每日万份收益排名;(5) 【基金B排名】 上周货币基金帐户基金 B(只包含B的基金进行排名)的每日万份收益排名;(6) 【上周】 上上周货币基金帐户基金 B(只包含B的基金进行排名)
25、的每日万份收益排名; 【规模】 货币基金帐户净资产;*(8) 【组合久期】 上周日头寸整体集合的久期;*(9) 【浮息债久期】 从总头寸集合中筛选是浮息券的债券头寸集合,计算得到久期;(10) 【利率产品久期】 总头寸集合去除浮息券后得到新头寸集合,计算得到久期;(11) 【名称】 总头寸集合中的买入单品种债券的名称;(12) 【金额】总头寸集合中的买入单品种债券的金额;*(13) 【名称】总头寸集合中的卖出单品种债券的名称;(14) 【金额】总头寸集合中的卖出单品种债券的金额;相关公式:基金排名: 从库表HQ_MMF In come按 每日万份收益相加后降序排序得到该基金的排名(一个货币基金
26、账户 有两个排名,一个是基金 A排名,一个是基金B排名);A基金的排名总数中不包括B基金,B基金排名总数只包含B基金。规模(净资产):组合久期:货币基金的组合久期取剩余天数;ColATSecurityPositi on.ObjColI ncome.I ncomeTotal.Acco un tRemai nDays金额:NsBTATAccou nt.lATTradeRecord. Settleme ntAmou nt/1O八8浮息债久期:单个浮息券的剩余天数乘以权重后累加得到浮息券的久期。权重为:影子价格净价*数量/净资产ObjSecurity.ShadowPrice*ObjSecurity.H
27、oldQty/myOutSecurity.ObjColl ncome.I ncomeTotal.NetValue利率产品久期:单个非浮息券的剩余天数乘以权重后累加得到利率产品的久期。权重为:影子价格净价*数量/净资产ObjSecurity.ShadowPrice*ObjSecurity.HoldQty/myOutSecurity.ObjColl ncome.I ncomeTotal.NetValue3.2 基金结构与浮动盈亏(银行计算方法:取得截止日期日期的头寸,循环头寸集合筛选出央票、浮息债、短融、逆回购 间逆回购+交易所逆回购+封闭式逆回购)共4个头寸集合1 4【持仓券面】分别为每个头寸集
28、合中的头寸持有量集合;之100 回购局部除以 10000 后除以做单位转换 万元,持有量 : ClsATSecurityHold.HoldQty5 8 【本钱占净资产比例】 会计帐户净价本钱 * 数量得到本钱,将每个集合的头寸本钱汇 总。用汇总结果除以净资产即可得到比例; 净价本钱 * 数量 :ClsATSecurityHold. NetCostPrice * ObjSecurity.HoldQty9 12【静态收益率】取得单品种静态收益率后,用加权平均法计算各个集合的静态收益率, 其中短融的静态收益率经过计算后还要乘以 0.8 。每个头寸集合中如果有一个品种的静态收益率不 存在,那么该集 合
29、的静态收益率不能计算,以“ - 表示。下面以央票为例a. 计算一条债券的本钱价值 / 总央票集合资产得到加权比率;b. 央票集合中每个品种的静态收益率 * 加权比率后汇总得到集合静态收益率。 静态收益率: 调用函数 GetStaticYield 得到;逆回购的静态收益率为回购利率。 到期价格: IMBond.GetMaturityPrice 头寸日期 买入价格: ClsATSecurityHold.CostPrice 一条债券的本钱价值: ClsATSecurityHold.PriceBalance 总央票集合资产:净价本钱 * 数量然后累加得,见【本钱占净资产比 例】13 15 【中债估值损
30、益】 估值价格 * 持有数量 - 溢折价余额然后累加得;估值价格 * 持有数量 -溢折价余额:CIsATSecurityHold.ShadowPrice* CIsATSecurityHold.HoldQty -ClsATSecurityHold. PriceBalance 16 【中债估值17 19 【实际浮亏】 手动输入价格 - 本钱净价 *持有数量损益】留空(20)【实际浮亏】 留空(21)【小计】 1 4简单相加;(22)【小计】 5 8简单相加;(23)【小计】 9 12每个集合的静态收益率(24)【小计】 13 16简单相加;(25)【小计】 17 20简单相加;(26)【持仓券面】
31、 货币基金账户的净资产;对应程序: (ObjSecurity.ShadowPrice - ObjSecurity.NetCostPrice) * ObjSecurity.HoldQty* 本钱占资产比例 后相加即可;28【静态收 留空,不用计益27率】 【本钱占净资产算比;例】净资产/净资产 * 100% ;29【中债估值损益】 24/ 净资产;31 【平均剩余期30【实际浮亏】 25 / 净资产;31-34 循环头寸计算每一只债券的剩余期限按行权处理*限该】只券的本钱,结果进行/ 本钱之和,加权平均计算,按每一类进行计算相加35小计的计算 :把央票、短融、浮息债、逆回购 看做一个资产组合,按
32、上述方法计算平均剩 余期限36 就直接取分析日当天 基金剩余期限就行单位:统一为的3.3 现金流总表基金名称1时间未来到期现金流扣除浮息债期限金额亿元占资产净值比%30天以内(2)(3)30-90 天(4)(5)90-180 天(6)(7)180-270 天(8)(9)270-365 天(10)(11)1、计算方法:取得截止日期的账户头寸集合后循环每个头寸,选取定期存款、活期存款、债 券扣除浮息债、回购的头寸,按剩余天数不同分别放在12个时间段月的数组中,每个时间段时间为一个月30天算。活期存款按30天算。1【基金名称】 货币基金账户名称2剩余天数在30天含以内的头寸金额累加;头寸金额: CI
33、sATSecurityHold.PriceBala nee3将2的累加结果/净资产;4剩余天数在30天到90天含以内的头寸金额累加;5将4的累加结果/净资产;6剩余天数在90天到180天含以内的头寸金额累加;7将6的累加结果/净资产;8剩余天数在180天到270天含以内的头寸金额累加;9将8的累加结果/净资产;10剩余天数在270天到365天含以内的头寸金额累加;11 将10 的累加结果/净资产;图表中数据取值方法:1、定义一个数组按12月大小分类,按剩余期限将债券的资产按月加和2、 按月计算每只债券的静态收益率,*本钱加和后/本钱合计,加权平均计算月静态 收益 率,将结果显示在表格中的隐藏列
34、。一个月到期现金流一个月内到期情况名称评级发行总额亿剩余存续期天静态收益率%到期日期数量(1)(2)(3)(4)(5)(6)(7)1、计算方法:取得截止日期的头寸集合,把剩余存续期是一个月内30天的债券数 据取得后明细列出1【名称】 债券简称;IMBo nd.ShortName2【评级】债券主体评级;IMBo ndnn erBo nd.lssuerCredit3【发行总额】债券发行量;IMBo ndnn erBo nd.GetlssuedVolume头寸日期(4)【剩余存续期】债券剩余存续期;债券品种调用GetTermToMatureByExercisType (),非债券品种调用 CIsAT
35、SecurityHold. CalShDays (计算日期)(4) 【静态收益率】调用函数GetStatic Yield (5) 【到期日期】债券到期日期;IMB on d.I nn erBo nd.MatureDate(6) 【数量】头寸持有量; ClsATSecurityHold.HoldQty3.4 信用产品列表1、计算方法: 取得 截止日期 的头寸进行分析,要筛选出企业债和短融组成新头寸集合(0)【基金名称】货币基金账户名称;(1) 【名称】 债券简称;IMBo nd.ShortName(2) 【评级】债券主体评级;IMBo nd.l nn erBo nd.lssuerCredit 【
36、发行总额】债券发行总额;IMBo nd.l nn erBo nd.GetlssuedVolume(头寸日期) 【剩余存续期】债券剩余存续期;GetTermToMatureByExercisType ()(5) 【静态收益率】调用函数;GetStatic Yield ()(6) 【实际损益】(手动输入价格-本钱价)*持有数量;见?基金结构与浮动盈亏?中的实际浮亏计 算公式 【持仓数量】头寸持有量;同现金流中的【数量】(8) 【发行人】 债券发行人;IMB on d.I nn erBo nd.lssuer(9) 【持有量】同一发行人的债券的持有量累加;(10) 【占基金净值比例】同一发行人本钱汇总
37、/净资产;(11) 【时间】计算日期;(12) 【买入收益率】直接从数据库中表BS_ReportPrice读取数据;附录、价格编辑界面增加买入收益率列涉及到的文档(2021-1-26 )1、 BS_ReportPrice 表结构修改两列,分别存估值收益率和列 AccountID 由 decimal 类型修改为 Int 类型增力口 YieldBE , YieldBuy 买入收益率结构如下列图修改脚本为:-修改 BS_ReportPrice 表结构,增加 YieldBE , YieldBuy 两列 if exists(='Acco un tID' andYBieEld '
38、and =YBieulyd ' andselect * from syscolu mns as a inner join sysobjects as b on a.id = b.id where a.n ame b. name='BS_ReportPrice')begi n-修改字段类型ALTER TABLE dbo.BS_ReportPrice ALTER Colu mnAccountID Int Not NULLendif not exists(select * from syscolu mns as a inner join sysobjects as
39、 b on a.id = b.id where a.n ame 'BS_ReportPrice ')begi n-增加字段Y ieldBEALTER TABLE dbo.BS_ReportPrice ADDY ieldBE float NULLend if not exists(select * from syscolu mns as a inner join sysobjects as b on a.id = b.id where a.n ame b.n ame= ' BS_ReportPrice ')begi n-增加字段Y ieldBuyALTER TAB
40、LE dbo.BS_ReportPrice ADDY ieldBuy Float NULLend2、增加表 BS_ReportBo ndY ielddetail计算头入收益率涉及到的交易明细的表BS ReportBo ndY ielddetail名称字段名类型及长度是否null备注账户IDAccou ntIDIntNot交易IDTradeIDIntNot手工添加记录的交易ID为0 ,头寸产生的初 始交易ID也为0父易类型IDTradeTypeIDNvarchar ( 10)Not0202 :买入0203 :卖出日期DatedatetimeNot品种IDSecurityIDIntNot数量Qua
41、 ntityFloatNot成交金额CJAmou ntFloatNot交易日成交价格CJPriceFloatNot对应表 BT_TradeB ond中的字段Settleme ntPrice价格模式PriceModelIntNotPriceModel=1:净价,PriceModel=0 全价成交收益率CJY ieldFloatNot手动添加标志IsMa nualBitNot1 :手动添加记录0:真实交易记录是否修改正收益 率IsMod YieldBitNot1 :修改正0 :未修改是否初始头寸 产生的交易IsI niTradeIntNot0 :不是初始交易1: 是初始交易,且是初 始头寸产生的初
42、始交 易2:是初始交易,且 是真实父易产生的初 始交易如下列图:增加表结构脚本为:andif not exists (select * from dbo.sysobjects where id = object_id(N'dbo.BS_ReportB ondY ielddetail')OBJECTPROPERT Y(id, N'lsUserTable') = 1)CREATE TABLE dbo.BS_ReportBo ndY ielddetail(AccountID int NOT NULL , TradelD int NOT NULL ,TradeTypel
43、D nvarchar (50) COLLATE Chi nese_PRC_CI_AS NOT NULL , Date datetime NOT NULL , SecuritylD int NOT NULL , Quantity float NOT NULL , CJAmount float NOT NULL , CJPrice float NOT NULL , PriceModel int NOT NULL , CJYield float NOT NULL , IsManual bit NOT NULL , IsModYield bit NOT NULL, IsIniTrade int NOT
44、 NULL)ON PRIMAR Y3、主界面设计 需要增加列“买入收益率(% ) 和按钮“设置买入收益率,如下图1加载页面显示买入收益率% 列: 得到为实际交易记录且不在BS_ReportBo ndY ielddetail表中的交易记录集或者在BS_ReportBo ndY ielddetail表中但IsI niTrrade=2 的交易记录 交易记录集, 调用函数GetRealTradeAndNotlnDetail,第三个参数mySecuritylDs为在债券价格编辑界面中存在的债券的品种ID组成的字符串,最终的记录集为窗体级变量mRst1 读取在表BS_ReportBo ndY ieldde
45、tail中存在并且不是手工录入的记录并且不在实际交易记录中存 在或者在实际交易中存在但是初始头交易记录Isln iTrade<>0 ,调用函数为 GetTradeDetailToNotl nRealTradeA ndNotMa nual,第三个参数 mySecuritylDs 为在债券价格编辑界面中存在的债券的品种ID组成的字符串,最终的记录集为窗体级变量mRst2循环加载每条债券信息,买入收益率列的加载需要从表BS_ReportPrice中确定是否存在YieldBuy的 值,如果没有,那么自动计算该券的买入收益率:定义两个变量 mRstTempI , mRstTemp2,贝U m
46、RstTemp仁mRst1.Filter= TradeSymbol= ' &mySecuritylD , mRstTemp2= mRst2.Filter= SecuritylD= ' & mySecuritylD 补齐支债券 在表 BS_ReportBondYielddetail中的交易数据,调用函数 AdustReportBondYielddetail计算各个交易的成交收益率,加权计算买入收益率,调用函数CalBo ndY ieldBuy将计算出来的买入收益率显示在界面上。4、子界面设计FrmReportEditCJYield 网格中显示列为:账户名称,交易I
47、D ,日期,品种简称,交易方向,数量张,成交金额,成交价格,是否手工添加,是否修改正收益率,成交收益率,是否初始头寸交易,其中成交收益率列可以手工修 改。在该窗体中增加属性:AccountID账户ID 、TradeDate 交易结束日期、SecurityID 品种ID 、CJYield 成交收益率、IsOk 确定还是取消、TradeRs 交易记录集合t、IniDate 初始交易日期界面设计如下列图:加载该页面:补齐一支债券在表 BS_ReportBo nd Yielddetail 中的交易数据,调用函数 AdustReportBo ndY ielddetail从表BS_ReportBondYi
48、elddetail中按照日期升序得到所有的记录,显示到界面网格中,手工添 加 记录显示为颜色1,修改正收益率的记录显示为颜色2,手工添加并修改正的记录显示为颜色3。手工增加交易记录:点击“增加按钮,增加、修改、和删除按钮均确定和“取消可不可见,填写完相应信息后,点击“确定调用函数AddReportBo ndY ielddetail见, 修改交易记录的成交收益率:调用函数ModReportBondYield ,在网格中的成交收益率列直接修改, 回车 即可,同时修改该列的背景颜色;也可以选中网格中的一条记录,点击“修改按钮,只有成 交收益率可 以修改,点击确定,完成修改。 删除手工增加的交易记录:
49、将鼠标放到某条记录上,右键弹出删除按钮,注意:不是手工增加的 记录不 能删除。调用函数DeleteReportBondYieldDetail,同时从网格中去掉该列;也可以点击网格中的一条记录,如果是手工添加的记录,那么“删除按钮可以用,点击“删除按钮,给出是否确定删除的提示信息,确 定删除,那么将该条记录删除,同时从网格中将该条记录去掉 确定事件:计算整支债券的买入收益率,调用函数 CalBondYieldBuy5、 主要函数1) 函数名: GetRealTradeAndNotInDetail ( myAccountID , myDate , mySecurityIDs , myOutRst
50、) as boolean 功能: 读取为 实际 交易记 录且( 不在 BS_ReportBondYielddetail 表 中的 交易记 录集或 者在 BS_ReportBondYielddetail 表中但 IsIniTrrade=2 的交易记录 ) 参数: myAccountID :账户 ID myDate 日期 mySecurityIDs :品种 ID 字符串,格式为: ' 品种 ID1 ' ,' 品种 ID2 ' ,' 品种 ID3 ' myOutRst :返回参数:满足条件的交易记录集返回值: True :成功, false :失败2)
51、 函数名: GetTradeDetailToNotInRealTradeAndNotManual ( myAccountID , myDate , mySecurityIDs , myOutRst )as boolean 功能: 读取在表 BS_ReportBondYielddetail 中存在并且不是手工录入的记录并 且 ( 不在实际交易记录中 存在或者在实际交易中存在但是初始交易记录 ( IsIniTrade<>0 ) 参数: myAccountID :账户 IDmyDate 日期 mySecurityIDs :品种 ID 字符串,格式为: ' 品种 ID1 ' ,' 品种 ID2 ' ,' 品种 ID3 ' myOutRst :返回参数:满足条件的交易记录集返回值: True :成功, false :失败3) 函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大一(物联网工程)C语言编程试题及答案
- 2025年高职石油化工技术(石油炼制工艺)试题及答案
- 2025年中职(学前教育)幼儿语言实训试题及答案
- 2025年大学一年级(机械电子工程)传感器技术应用试题及答案
- 2025年高职电气工程及其自动化(电工技术应用)试题及答案
- 2025年大学马术运动与管理(马术技术)试题及答案
- 2025年高职(会计)审计实务阶段测试题及答案
- 2025年中职环境艺术设计(环境设计基础)试题及答案
- 2025年大学化学工程与工艺(工业催化)试题及答案
- 2025年高职生态保护技术(技术实操训练)试题及答案
- 2024-2025学年江苏省苏州吴中、吴江、相城、高新区初一(上)语文期末试题及答案
- 咨询服务风险管理-洞察阐释
- 航天智能通信原理与应用 课件 第7章 电磁频谱感知
- 护理节前安全教育
- 2025年上半年辽宁大连市总工会面向社会招聘社会化工会工作者42人重点基础提升(共500题)附带答案详解
- 个人委托书范本模板电子版
- 租学位合同协议书
- NB-T32036-2017光伏发电工程达标投产验收规程
- 国有企业采购管理规范 T/CFLP 0027-2020
- 模板-健康风险评估报告
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
评论
0/150
提交评论