Bloomberg bond security mapping
This mapping is used for Security Type Debt instrument (BOND).
This mapping is used when you choose: Tools → Create security → Bloomberg → Bond.
Configuration
Base instruments for Floating Rate Bonds
The mappings exist in FA prior to creating Bonds. The base instrument Interest Rate needs to have Security Code equal to FA Standard <CCY><TENOR> (note for EUR <CCY>LI/IB<TENOR> LI=Libor, IB=Euribor).
Mapping
Mapping name: mapping.bloomberg.bond
Updated fields
|
|
|
Mapping table
Source field | Value mapping | FA field | Script |
CFI_CODE | CFI | ||
BLOOMBERG_CFI_CODE | CFI | ||
s.type | output = "[CFI]".substring(0,1) | ||
s.subType | output = "[CFI]".substring(0,2) | ||
ID_ISIN | s.isinCode | ||
CRNCY | s.currency | ||
s.securityCode | output="[ID_ISIN]"+"_"+"[CRNCY]" ; | ||
ID_BB_GLOBAL | s.updateCode | ||
ID_MIC1 | USEMIC | if("[ID_MIC1]"=='YYYY') { output='XFRA' } else { if((!"[ID_MIC1]"?.trim())||("[ID_MIC1]"=='')||("[ID_MIC1]"=='null')||("[ID_MIC1]"=='N.A.')) { output='-' } else { output="[ID_MIC1]" } } ; | |
ID_MIC_PRIM_EXCH | USEMIC | ||
HOLEX | switch("[USEMIC]") { case "XSWX": output = "CHZU" break case "XVTX": output = "CHZU" break case "XMAD": output = "ESMA" break case "XNGS": output ="USNY" break case "XNYS": output ="USNY" break case "XNAS": output ="USNY" break case "GLBX": output ="USNY" break case "XCME": output ="USNY" break case "XSES": output = "SGSI" break case "XSTO": output = "SEST" break case "XCSE": output = "DKCO" break case "XETR": output = "DEFR" break case "XEUR": output = "DEFR" break case "FRAB": output = "DEFR" break case "MUNA": output = "DEFR" break case "XBER": output = "DEFR" break case "XHEL": output = "FIHE" break case "FNFI": output = "FIHE" break case "NOTC": output = "NOOS" break case "XOSL": output = "NOOS" break case "XOAM": output = "NOOS" break case "XLDN": output = "GBLO" break case "SETS": output = "GBLO" break case "XPAR": output = "FRPA" break case "XTKS": output = "JPTO" break case "XJPX": output = "JPTO" break case "XTSX": output = "CATO" break case "XTSE": output = "CATO" break case "XASX": output = "AUSY" break case "XNZE": output = "NZWE" break default: output="-" break } ; | ||
CDR_EXCH_CODE | CAL | ||
CALENDAR_CODE | CAL | ||
CNTRY_OF_DOMICILE | s.country | if("[CNTRY_OF_DOMICILE]"!="EU") { if("[CNTRY_OF_DOMICILE]".length()==2) { output="[CNTRY_OF_DOMICILE]" } else { output='' } } else { output='' } ; | |
CALCODE | switch('[CAL]') { case "A7": output="AUSY" break case "AU": output="AUSY" break case "AX": output="AUSY" break case 'A$': output="AUSY" break case "BZ": output="BRBD" break case "RI": output="BRBD" break case "ML": output="CAMO" break case "CA": output="CATO" break case "T4": output="CATO" break case "WG": output="CATO" break case "#V": output="CHZU" break case "BS": output="CHZU" break case "CH": output="CHZU" break case "S5": output="CHZU" break case "SZ": output="CHZU" break case "V1": output="CHZU" break case "ZU": output="CHZU" break case "CZ": output="CZPR" break case "P1": output="CZPR" break case "FA": output="DEFR" break case "GE": output="DEFR" break case "CP": output="DKCO" break case "CP": output="DKCO" break case "DE": output="DKCO" break case "TE": output="EUTA" break case "FI": output="FIHE" break case "HE": output="FIHE" break case "FR": output="FRPA" break case "M9": output="FRPA" break case "MT": output="FRPA" break case "PA": output="FRPA" break case "AP": output="GBLO" break case "EN": output="GBLO" break case "GB": output="GBLO" break case "LM": output="GBLO" break case "LS": output="GBLO" break case "B8": output="HUBU" break case "HU": output="HUBU" break case "FX": output="JPTO" break case "JN": output="JPTO" break case "OK": output="JPTO" break case "T2": output="JPTO" break case "T3": output="JPTO" break case "TK": output="JPTO" break case "ME": output="MXMC" break case "MX": output="MXMC" break case "NO": output="NOOS" break case "OS": output="NOOS" break case "FD": output="NYFD" break case "NY": output="NYSE" break case "KD": output="NZAU" break case "ND": output="NZAU" break case "NZ": output="NZAU" break case "WL": output="NZWE" break case "PD": output="PLWA" break case "PL": output="PLWA" break case "O2": output="SEST" break case "ST": output="SEST" break case "SW": output="SEST" break case "CE": output="USNY" break case "M4": output="USNY" break case "US": output="USNY" break case "#A": output="USNY" break case "JH": output="ZAJO" break case "SA": output="ZAJO" break case "X1": output="ZAJO" break case "ZA": output="ZAJO" break default: output='Sat/Sun' break } ; | ||
s.exchange | if("[USEMIC]"=='-') { output='' } else { output="[USEMIC]" } ; | ||
s.holidayCalendar | if("[HOLEX]"!='-') { output="[HOLEX]" } else { output="[CALCODE]" } ; | ||
DAYS_TO_SETTLE | s.settlementDateOffset | ||
s.enableSettlementDateOffset | if("[DAYS_TO_SETTLE]" != null && !"[DAYS_TO_SETTLE]".isEmpty() && !"[DAYS_TO_SETTLE]".trim().isEmpty()) { output='1' } else { output="0" } ; | ||
AMT_OUTSTANDING | s.share | ||
s.status | output="ACTIVE"; | ||
s.tradeCode | output="[ID_BB_GLOBAL]" ; | ||
SECURITY_DES | |||
ISSUE_PX | s.issuePrice | if("[ISSUE_PX]" != null && !"[ISSUE_PX]".isEmpty() && !"[ISSUE_PX]".trim().isEmpty()) { output="[ISSUE_PX]" } else { output='100' } ; | |
CALC_MATURITY | s.maturityDate | if((!"[CALC_MATURITY]"?.trim())||("[CALC_MATURITY]"=='')||("[CALC_MATURITY]"=='null')||("[CALC_MATURITY]"=='N.A.')) { output='' } else { if(new Date().parse('MM/dd/yyyy','[CALC_MATURITY]').format('yyyy')>'2120') { output = new Date().parse('MM/dd/yyyy','[CALC_MATURITY]').format('2120-MM-dd') } else { output = new Date().parse('MM/dd/yyyy','[CALC_MATURITY]').format('yyyy-MM-dd') } } ; | |
PCT_PAR_QUOTED | s.multiplier | if("[PCT_PAR_QUOTED]"=='N') { output=1 } else { output=100 } ; | |
s.multiplierView | output="[s.multiplier]" ; | ||
CPN_FREQ | s.couponFrequency | switch("[CPN_FREQ]") { case '1': output='P12M' break case '2': output='P6M' break case '4': output='P3M' break case '12': output='P1M' break case '52': output='P1W' break case '365': output='P1D' break default: output='' } ; | |
DAY_CNT_DES | s.accrualCalendar | switch("[DAY_CNT_DES]") { case '30/360': output='30U/360' break case 'ACT/360': output='Act/360' break case 'ACT/365': output='Act/365F' break case 'ACT/365-66': output='Act/366' break case 'AFB ACT/ACT': output='Act/Act AFB' break case 'ISDA 30E/360': output='30E/360 ISDA' break case 'ISMA-30/360': output='30E/360' break case 'ISMA-30/360 NONEOM': output='30E/360' break case 'ISMA 30/360': output='30E/360' break case 'ISDA ACT/ACT': output='Act/Act ICMA' break case 'ACT/ACT': output='Act/Act ICMA' break case 'MUNI30/360 NON-EOM': output='30E/360 ISDA' break case 'US MUNI: 30/360': output='30U/360' break case '30/360 NON-EOM': output='30U/360' break case 'ACT/360 NON-EOM': output='Act/360' break case 'ACT/ACT NON-EOM': output='Act/Act ISDA' break default: output='' break } ; | |
START_ACC_DT | s.firstCouponDate | if((!"[START_ACC_DT]"?.trim())||("[START_ACC_DT]"=='')||("[START_ACC_DT]"=='null')||("[START_ACC_DT]"=='N.A.')) { output='' } else { output = new Date().parse('MM/dd/yyyy','[START_ACC_DT]').format('yyyy-MM-dd') } ; | |
REDEMP_VAL | s.maturityPrice | output = '[REDEMP_VAL]' ; | |
s.coupons | output="" | ||
FLT_CPN_HIST | s.coupons | ||
CPN | s.coupon | if("[s.coupons]"=="") {output="[CPN]"}else{output=""} ; | |
s.exCouponPeriod | switch("[s.exchange]") { case "XSTO": output='4' break case "XOSL": output='1' break case "NOTC": output='1' break case "XOAM": output='1' break default: output='0' break } ; | ||
CPN_TYP | CPNTYP | ||
s.offsetDays | if("[CPN_TYP]"=="FLOATING") {output="2"} else {output="0"} ; | ||
END_ACC_DT | ENDACC | if((!"[END_ACC_DT]"?.trim())||("[END_ACC_DT]"=='')||("[END_ACC_DT]"=='null')||("[END_ACC_DT]"=='N.A.')) { output='' } else { output = new Date().parse('MM/dd/yyyy','[END_ACC_DT]').format('yyyy-MM-dd') } ; | |
ISSUE_DT | if((!"[ISSUE_DT]"?.trim())||("[ISSUE_DT]"=='')||("[ISSUE_DT]"=='null')||("[ISSUE_DT]"=='N.A.')) { output='' } else { output = new Date().parse('MM/dd/yyyy','[ISSUE_DT]').format('yyyy-MM-dd') } ; | ||
SSTUB | if("s.firstCouponDate"<"s.issueDate") { output = "Short First" } else if("s.firstCouponDate">"s.issueDate") { output = "Long First" } else { output = "Normal" } | ||
LSTUB | if('[ENDACC]'<'[s.maturityDate]') { output = "Long Last" } else if('[ENDACC]'>'[s.maturityDate]') { output = "Short Last" } else { output = "Normal" } | ||
s.stubConvention | if("[LSTUB]"=='Normal') {if("[SSTUB]"=="Normal") {output="None"} else {if("[SSTUB]"=="Short First") {output="ShortInitial"} else {if("[SSTUB]"=="Long First") {output="LongInitial"} else {output=""} } } } else {if("[LSTUB]"=='Long') {if("[SSTUB]"=="Normal") {output="LongFinal"} else {if("[SSTUB]"=="Short First") {output="Both"} else {if("[SSTUB]"=="Long First") {output="Both"} else {output=""} } } } else {if("[LSTUB]"=='Short') {if("[SSTUB]"=="Normal") {output="ShortFinal"} else {if("[SSTUB]"=="Short First") {output="Both"} else {if("[SSTUB]"=="Long First") {output="Both"} else {output=""} } } } } } ; | ||
RESET_IDX | s.baseInstrument | def str = "[RESET_IDX]" def lgt = str.length() def ccy = "[CRNCY]" if(str.substring(0,4)=='CDOR') { if(str.substring(lgt-2,lgt)=='12') { suffix='1Y' } else { suffix=str.substring(lgt-1,lgt)+'M' } } else { if(str.substring(lgt-3,lgt)=='12M') { suffix='1Y' } else { suffix=str.substring(lgt-2,lgt) } } if("[CRNCY]"=="EUR") { if(str.substring(0,2)=="EE") { prefix="EURLI" } else { prefix="EURIB" } } else { prefix="[CRNCY]" } output=prefix+suffix ; | |
FLT_SPREAD | s.spread | if("[FLT_SPREAD]" != null && !"[FLT_SPREAD]".isEmpty() && !"[FLT_SPREAD]".trim().isEmpty()) { double dnum = Double.parseDouble("[FLT_SPREAD]") output=dnum/100 } else { output='' } ; | |
ISSUE_DT | s.issueDate | if((!"[ISSUE_DT]"?.trim())||("[ISSUE_DT]"=='')||("[ISSUE_DT]"=='null')||("[ISSUE_DT]"=='N.A.')) { output='' } else { output = new Date().parse('MM/dd/yyyy','[ISSUE_DT]').format('yyyy-MM-dd') } ; | |
FLT_CPN_CONVENTION | s.businessDayConvention | switch("[FLT_CPN_CONVENTION]") { case 'Mod bus day - adj': output='ModifiedFollowing' break case 'Mod Bus Day-Adj Nxt Month': output='ModifiedFollowing' break case 'Mod bus day - unadj': output='ModifiedFollowing' break case 'Following bus day - adj': output='ModifiedPreceding' break case 'Following bus day - unadj': output='Following' break case 'Preceding bus day - adj': output='ModifiedPreceding' break case 'Preceding bus day - unadj': output='Preceding' break default: output='NoAdjust' break } ; | |
s.tags | output="Reference data-Bloomberg bond" ; | ||
s.profileAttributes | if(!"[CIC]"?.trim()) { output="" } else { output = "security.sii.listedIn=" + "[CIC]".substring(0,2) + ":string#security.sii.cic=" + "[CIC]".substring(2) + ":string#" } ; | ||
TICKER | s.keyFigures | if("[TICKER]"!='') {output="***BloombergId=2000-01-01=[TICKER]"}else {output="***"} |