public static Vanilla_SwapTradeInfo makeVanilla_Swap_tradeInfo(DateTime tradeDate, string avavailableTradeCD, long notional, bool fixedPayFlag, double tradeIndex) { Vanilla_SwapTradeInfo v_sti = new Vanilla_SwapTradeInfo(); clsTRADABLE_OTC_VANILLA_IRS_TB clstb = new clsTRADABLE_OTC_VANILLA_IRS_TB(); clstb.INST_CD = avavailableTradeCD; clstb.SelectOwn(); int maturityYear = ConvertingTool.TenorMuliplier(clstb.MATURITY_TENOR); Vanilla_Swap vanilla_swap = Vanilla_Swap.CreateTradableCode(avavailableTradeCD, fixedPayFlag, notional, tradeDate, tradeIndex); v_sti.Financial_instrument_ = vanilla_swap; double indexMultiplier = Vanilla_SwapTradeInfo.IndexMultiplier_; double tradeFeeRate = Vanilla_SwapTradeInfo.TradeFeeRate_; v_sti.DAO_ = new DatabaseLayer.clsHITM_TRADEINFO_TB(); v_sti.DAO_.TRADE_ID = IDGenerator.getNewTradeID(TradeInfo.TradeType.OTC, vanilla_swap.InstrumentType_, tradeDate); v_sti.DAO_.INSTRUMENT_ID = vanilla_swap.SwapDAO_.INSTRUMENT_ID; v_sti.DAO_.TRADE_DT = tradeDate.ToString("yyyyMMdd"); v_sti.DAO_.TRADE_TM = DateTime.Now.ToString("HHmmss"); v_sti.DAO_.TRADE_SEQ = IDGenerator.getTradeSeq(tradeDate); v_sti.DAO_.TRADE_TYP = Convert.ToInt32(TradeInfo.TradeType.OTC); v_sti.DAO_.FP_MASTER_TYP = vanilla_swap.baseDAO_.FP_MASTER_TYP; v_sti.DAO_.TRADE_UNIT = 1; v_sti.DAO_.TRADE_MULTIPLIER = indexMultiplier; v_sti.DAO_.TRADE_CURR = "KRW"; v_sti.DAO_.CURR_RATE = 1.0; v_sti.DAO_.TRADE_INDEX = tradeIndex; v_sti.DAO_.TRADE_INDEXUNIT = 1.0; v_sti.DAO_.TRADE_QNT = notional; v_sti.DAO_.TRADE_NOTIONAL_AMT = notional; v_sti.DAO_.ACCOUNT_AMT = 0.0; v_sti.DAO_.TRADE_FEE = Math.Round(Math.Abs(v_sti.DAO_.TRADE_NOTIONAL_AMT * tradeFeeRate)); v_sti.DAO_.TRADE_PL = 0.0; v_sti.DAO_.TRADE_FEE_PAYMENT_DT = tradeDate.ToString("yyyyMMdd"); v_sti.DAO_.COUNTER_ID = "OTC"; v_sti.DAO_.BOOKED_FLAG = 0; return v_sti; }
// #CREATETRADEINFO_ITEMADD public static TradeInfo CreateTradeInfo(clsHITM_TRADEINFO_TB tb) { int type = tb.FP_MASTER_TYP; TradeInfo ti = new UnknownType_TradeInfo(); if (type == (int)clsMAST_FP_INSTRUMENT_TB.FP_MASTER_TYP_Type.Kospi200_IndexFutures) { ti = new Kospi200FuturesTradeInfo(); } else if (type == (int)clsMAST_FP_INSTRUMENT_TB.FP_MASTER_TYP_Type.Kospi200_IndexOption_Call || type == (int)clsMAST_FP_INSTRUMENT_TB.FP_MASTER_TYP_Type.Kospi200_IndexOption_Put) { ti = new Kospi200OptionTradeInfo(); } else if (type == (int)clsMAST_FP_INSTRUMENT_TB.FP_MASTER_TYP_Type.VanillaIRS) { ti = new VanillaIRSTradeInfo(); } else if (type == (int)clsMAST_FP_INSTRUMENT_TB.FP_MASTER_TYP_Type.VanillaSwap) { ti = new Vanilla_SwapTradeInfo(); } else if (type == (int)clsMAST_FP_INSTRUMENT_TB.FP_MASTER_TYP_Type.Ftp_DepositLoan) { ti = new Ftp_DepositLoanTradeInfo(); } else { //fi = new Unknown_instrument(); } ti.DAO_ = tb; //fi.baseDAO_ = tb; //fi.loadDetail(tb.INSTRUMENT_ID); return ti; }