public static ZooData Calculate( String instKey, AdjTable adjTable, DateTime from, DateTime until, double investAmount) { SortedList<DateTime, double> adjs = adjTable.Data[instKey]; SortedList<DateTime, double> investAmts = CreateInvestAmount(adjs, investAmount); SortedList<DateTime, double> instData = MarketDataManager.Ins().GetData(instKey); SortedList<DateTime, double> increments = ConvertUtil.ToIncrement(instData); // create pivot dates List<DateTime> pivotDates = CreatePivotDates(from, until, instData); // create ZooData, Set adj and instData ZooData zoo = new ZooData(); zoo.SetPivotDates(pivotDates); zoo.Append("insts", instData); // instruments market data zoo.Append("increments", increments); zoo.Append("adjs", adjs, 1.0); zoo.Append("investAmts", investAmts); SortedList<DateTime, double> pnls = CalculatePnl(zoo, investAmount); SortedList<DateTime, double> sum = ConvertUtil.ToSum(pnls); zoo.Append("pnls", pnls); zoo.Append("sum", sum); return zoo; }
public void Fill(ZooData data) { Name = data.Name; Popular = data.Popular; VisitorLike = data.VisitorLike; Price = data.Price; VisitorCount = data.VisitorCount; ExpectIncome = data.ExpectIncome; AnimalCount = data.AnimalCount; AnimalHappiness = data.AnimalHappiness; }
public static void OnRefresh(this UI_TabZooInfo ui, ZooData zooData, int money) { ui.m_LabelName.SetText(zooData.Name); ui.m_StarLevelPopular.SetStarLevel(zooData.Popular); // ui.m_StarLevelLike.SetStarLevel(zooData.VisitorLike); ui.m_LabelVisitor.SetText(zooData.VisitorCount); ui.m_LabelMoney.SetText(money); ui.m_LabelIncome.SetText(zooData.ExpectIncome); ui.m_LabelPrice.SetText(zooData.Price); ui.m_BtnSettingPrice.onClick.Set((() => { GameEntry.UI.OpenUIForm <UI_PanelZooSetting>(); })); }
static SortedList<DateTime, double> CalculatePnl(ZooData zoo, double investAmount) { SortedList<DateTime, double> pnls = new SortedList<DateTime, double>(); double prevAdj = 1.0; foreach (DateTime cur in zoo.PivotDates) { Dictionary<String, double> curDict = zoo.Data[cur]; double curIncrement = curDict["increments"]; double curPnl = curIncrement * prevAdj * investAmount; pnls.Add(cur, curPnl); double curAdj = curDict["adjs"]; prevAdj = curAdj; } return pnls; }
void ReportResultData() { ZooData zoo = new ZooData(); zoo.SetPivot("CumPnl", GetCumPnls()); zoo.Append("Index", _marketData); zoo.Append("Investment", GetInvestments()); zoo.ToCsv(String.Format("C:\\report\\result_data_{0}.csv", this.Key)); }
public override void ClearData() { ZooData = new ZooData(); }
public override void LoadDataFromJson(string json) { ZooData = JsonUtility.FromJson <ZooData>(json); }