// 그냥 셀렉트하면 댐. // 데일리 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; }
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; }
//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; }
public void merge(GreekPositions greekPositions) { throw new NotImplementedException(); }