Exemple #1
0
        // 그냥 셀렉트하면 댐. // 데일리 greekPosition을 direct로 계산해서 쌓아놈.
        // modle point로 구분하기 때문에..financial product랑은 다르게 상품이 동일한건 없고 죄다 다름.
        // 그냥 공통의 insurance_product는 없다고 보면댐.
        // position은 단순 데일리를 쌓기 위한것임.
        public GreekPositions greekPositions()
        { 
            GreekPositions gps = new GreekPositions();

            // SELECT 함.
            


            //gps.GreekPositionList_ = 

            // option 별로 그릭이 나옴.
            List<Greek> greekList = this.Insurance_product_.greek();

            foreach (Greek greek in greekList)
            {
                GreekPosition gp = new GreekPosition();

                gp.Greek_ = greek;
                gp.GreekPositionAmount_ = this.Quantity_ * greek.Value_;

                gps.merge(gp);
            }
            
            return gps;
        }
Exemple #2
0
        public GreekPositions greekPositions()
        {
            //QlArray q_array = new QlArray();

            //q_array.set(1, 1.0);

            GreekPositions gps = new GreekPositions();

            GreekPosition gp1 = new GreekPosition();
            gp1.Greek_ = new Greek(Greek.Type.Delta, 1.2);
            gp1.Greek_.associated_ID_ = "testAssociated_1";
            gp1.Greek_.UnderCode_ = "testUnderCode_1";
            gp1.GreekPositionAmount_ = 1.2;


            GreekPosition gp2 = new GreekPosition();
            gp2.Greek_ = new Greek(Greek.Type.Delta, 2.1);
            gp2.Greek_.associated_ID_ = "testAssociated_2";
            gp2.Greek_.UnderCode_ = "testUnderCode_2";
            gp2.GreekPositionAmount_ = 2.1;
            
            gps.GreekPositionList_.Add(gp1);
            gps.GreekPositionList_.Add(gp2);

            return gps;
        }
        public List<TradeInfo> getHedgeTradeInfoList(GreekPositions greekPositions)
        {
            // 필요한 Trade를 담을 놈
            List<TradeInfo> matchedTrades = new List<TradeInfo>();

            #region Trading Calculating
            {
                foreach (GreekPosition roop_gp in greekPositions.GreekPositionList_)
                {
                    matchedTrades.Add(this.match_trade(roop_gp));
                }
                
            }
            
            #endregion

            return matchedTrades;
            
        }
Exemple #4
0
        //public List<TradeInfo> TradeInfoList_ { get; set; }

        // method

        // 시간별 그릭을 떨궈야함...?
        // 이놈은 delta(kopsi , msci) , rho ( ir ) , vol ( kospi , msci ) 이런걸 담고 있음.
        public GreekPositions greekPositions()
        {

            // 포지션 리스트가 나왔음.
            // 포지션에서 그릭이 오는게 아니고
            // 바로 greek table 에서 greek 이 옴.
            // 포지션 리스트는 주욱 대면
            // select * from ( select position_id from position ) where 
            
            // greek을 factor 별 sum 함.

            // market Data를 기준으로 interpolation 해서 던져줌.

            

            ////modelPoint 는 여기가 아님... ㅡ.ㅡ;; 더 먼저임.. 배치 계산 파트에 있어야함.
            //GreekPositions mergedGreekPositions = new GreekPositions();

            //foreach ( PolicyPosition pos in this.PolicyPositionList_)
            //{
            //    mergedGreekPositions.merge( pos.greekPositions() );
            //}

            //return mergedGreekPositions;

            //GreekGridPositions_DAO ggps_dao = new GreekGridPositions_DAO();

            //WhereCondition wc = new WhereCondition();

            //ggps_dao.WhereCondition_ = wc;
            
            //GreekGridPositions ggps = ggps_dao.greekGridPositions();

            //GreekPositions gps = ggps.greekPositions();

            GreekPositions gps = new GreekPositions();

            return gps;
        }
Exemple #5
0
 public void merge(GreekPositions greekPositions)
 {
     throw new NotImplementedException();
 }