天软金融分析.NET函数大全 > 金融函数 > 股票 > 基本情况 > 股票代码转换

LongBondIdto6Id    

简述

得到银行间长债券代码转换为压缩后六位代码,与当前时间pn_date()相关。

1、如果BondID为6位或小于6位的代码,"BK"+BondID即为天软中的银行间债券代码,可直接通过"BK"+BondID 获取在天软的名称。返回6位代码Bondid和名称

2、如果BondID长度为7位,一般读取第1、2位为年份,第3、4位为发行债券的主体,最后三位为期数;其中年份、主体、期数放在返回的参数nf、zt、qs中,并返回以下几种压缩代码
1)BondId

   2)年份2位+主体2位+期数2位;其中:用MType>360(type=1)方法处理期数

   3)年份1位+主体2位+期数3位;其中:用函数GETDZB处理年份

4)‘BK’+BondId

   3、如果BondID长度为8位,一般读取第1、2位为年份,第3、4位为发行债券的主体,最后三位为期数;其中年份、主体、期数放在返回的参数nf、zt、qs中,用MType>360(type=1)方法处理期数,并返回以下几种压缩代码
1)BondId

   2)年份2位+主体2位+期数2位
3)‘BK’+BondId
4、如果BondID长度为9位,一般读取第1、2位为债券类别,第3、4位为发行年份,第5、6位为发行人,最后三位为债券编码;其中债券类别、发行年份、发行人、债券编码放在返回的参数lb、nf、zt、qs中,用函数GETDZB处理类别、年份,MType>360方法处理债券编码,并返回以下几种压缩代码
1)BondId

   2)类别1位+年份2位+主体2位+期数2位;其中:MType>360方法type=1

3)类别1位+年份2位+主体2位+期数2位;其中:MType>360方法type=1;lb+9,如果函数GETDZB处理报错则返回BondId

4)类别1位+年份2位+主体2位+期数2位;其中:MType>360方法type=2;lb+9,如果函数GETDZB处理报错则压缩代码3)=4)
5)‘BK’+BondId
5、如果如果BondID长度小于6或者大于9则返回BondId
6、如果执行以上步骤报错则返回BondId
MType>360方法:
定义
LongBondIdto6Id(BondId:String;lb:String;nf:String;zt:String;qs:String):Array;
参数
名称类型说明
BondIdString字符串,银行间长债券代码;
lbString字符串,返回值。债券类别
nfString字符串,返回值。债券发行年份
ztString字符串,返回值。债券发行主体
qsString字符串,返回值。债券发行期数
返回Array数组
  • 算法
    将R3转换为整型数据iR3
    如果iR3<=359:
    取R3的最左的两位Qs1,最右的一位Qs2,返回tDZB[Qs1]+ Qs2
    如果Mtype=1 且iR3>=360:
    iR3-360后对26取整、取余,再都加10转换位二位的十进制数sDiv、sMod。返回tDZB[sDiv]+tDZB[sMod]
    如果Mtype=2,iR3>=360且iR3<=619:
    取R3前两位再减26Qs1,取最后一位Qs2,返回Qs2+tDZB[Qs1]
    函数GETDZB算法如下:
    返回一维数组,如下(第一列为行标)
    00 0
    01 1
    02 2
    03 3
    04 4
    05 5
    06 6
    07 7
    08 8
    09 9
    10 A
    11 B
    12 C
    13 D
    14 E
    15 F
    16 G
    17 H
    18 I
    19 J
    20 K
    21 L
    22 M
    23 N
    24 O
    25 P
    26 Q
    27 R
    28 S
    29 T
    30 U
    31 V
    32 W
    33 X
    34 Y
    35 Z
    范例

    Return LongBondIdto6Id("150204","","","","");

相关