コード例 #1
0
ファイル: Vanilla_SwapTradeInfo.cs プロジェクト: minikie/test
        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;
        }
コード例 #2
0
ファイル: TradeInfo.cs プロジェクト: minikie/test
        // #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;
        }