摘要:依股票代碼分辨為何類商品
private static int iFindStkKind(string _sStockID)
{
if (string.IsNullOrEmpty(_sStockID))
return 0;
_sStockID = _sStockID.ToUpper();
switch (_sStockID.Length)
{
case 4://上市,上櫃,興櫃,受益憑證,存託憑證及ETF等衍生性金融商品
if (_sStockID[0] == '0' && _sStockID[1] == '0')//00##
return 5;
else //####
return 1;
case 5://轉換公司債,股款繳納憑證、新股權利證書及可轉換公司債換股權利證書,認購權證
switch (_sStockID[4])
{
case 'L'://股款繳納憑證、新股權利證書及可轉換公司債換股權利證書 ####(L~Z)
case 'M':
case 'N':
case 'O':
case 'P':
case 'Q':
case 'R':
case 'S':
case 'T':
case 'U':
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z':
return 1;
case 'A'://特別股 ####(A~E)
case 'B':
case 'C':
case 'D':
case 'E':
return 1;
case 'G'://附認股權有價證券 ####G
return 1;
case '0'://轉換公司債,認購權證
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
switch (_sStockID[0])
{
case '0'://上市權證 0####
case '7'://上櫃權證 7####
return 2;
default://轉換公司債 #####
return 3;
}
}
break;
case 6://
{
switch (_sStockID[0])
{
case '9'://TDR
return 1;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
switch (_sStockID[4])
{
case 'F'://附認股權公司債履約後之公司債 ####F#
return 3;
case 'G'://附認股權特別股,附認股權公司債,附認股權股款繳納憑證
switch (_sStockID[5])
{
case 'A'://附認股權特別股 ####G(A~C)
case 'B':
case 'C':
return 1;
case 'D'://附認股權公司債 ####G(D~L)
case 'E':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':
case 'K':
case 'L':
return 3;
case 'X'://附認股權股款繳納憑證 ####G(X~Z)
case 'Y':
case 'Z':
return 1;
}
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
switch (_sStockID[5])
{
case '0'://交換公司債 ######
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
//新認購權證 ## ####(99/5/17)
if (_sStockID[0] == '0' || _sStockID[0] == '7')
return 2;
else
return 3;
case 'P'://認售權證,不動產資產信託之受益證券 #####P
case 'F'://以外國證券或指數為標的之認購權證
return 2;
case 'T'://不動產投資信託之受益證券 #####T
case 'S'://金融資產證券化之受益證券及資產基礎證券 #####S
return 5;
}
}
break;
default:
break;
}
break;
case 'B'://公司債
case 'A'://中央政府公債
case 'C'://台北市政府公債
case 'D'://高雄市政府公債
case 'P'://分割本金公債
case 'I'://分割利息公債
return 4;
case 'F'://外國債券
case 'E'://外幣計價債券
return 4;
}
}
break;
default://當作股票的
return 1;
}
return 0;
}