KYBT: KuaiYuBackTesting

交易时候用真实价格交易，算涨幅可以
0直接每日的涨跌幅相加，很方便，这是粗略的，可以看看有多粗略，
1用昨日的收盘价和涨跌幅算出今日的收盘价（假设今日除权了） 
2算相应时间段的后复权涨幅
3买入的价格是买入的总市值除以买入时候的股本，用当前总市值除以买入时候的股本，就得到今日的价格，当然这个价格和实际的而价格肯定不一样，但是要算涨幅的话是绰绰有余了。


need to know the index pool that makes up the index 
1\ 测试工具 任务调度 模拟很多人跑 3月25日之前（周日）弄好，4月之前确保益盟好了，我们立马就好
1\account PrintMe
2\cash < 0, @property
3\calculate zhangfu 

1\ the redis server\clientAPI server\Robot should be on at the very first
4 处理停牌无法卖出，涨停无法买入，跌停无法卖出
5 benchmark
6 持仓分析
7 Method1 has issue
8 开盘前跌停无法卖出，但是还没有考虑若之后打开跌停，可以卖出的情况。 涨停买入也一样
9 假设所有的涨幅都按照( 今收-昨收/昨收) 来算  updatePositionValueMethod2
10 @Property 把能用的地儿都用到
11 周线、年线运行、
12 没有考虑手续费
13 一个股票要卖 就全卖
14 用进程有用，线程没用
15 财报用publish date 不用{'Jan':'01-01','Apr':'04-01','Jul':'07-01','Oct':'10-01'} 而是用和这些基准最接近的那个publish date
16 每一个表分成一个类
17 
CY_FinacialRatio_RP 我武生物 为例 上市是2014年1月21日（1月21日开始有K线）

18  添加交易记录 
19  获取交易日期的得用YM数据库的 
20  一次性读取所有的数据，放在内存里面，把内存当数据库，以后机器人读取就只需要读取内存的数据了，这样就飞快
21 merge API into oneAPI
22 finish objecting SQL, then create a strategy
23 整个运作流程写好，API写好，数据库格式说清楚，和益盟对接
24 当天卖掉就立即买入，净值不应该有尖头波动，调仓动作（先卖再买）是在同一时刻完成的，
25 改变程序的运行方式，不要每次读数据；而是一次性根据用户Json读取数据，

26 股票分红的当天，股价会相应的降低的；当日实际开盘价 + 分红/股数 = 当日不分红开盘价
27 learn APIstar mother fuck！
28 account 把marketValueAPI 删除掉
29 选股要针对日期来选，加上此功能
30 补充所有的指标 dataTable里面
31 在engine2 DateList 最近三年
32 261 bulk['EM_QUOTE_INDEX_DAILY'] = self.getIndexData('HS300',startDate,endDate)
33 20130704 君正集团没有bar，数据缺失 在account简单处理了 x.positionValue = 0

34 校验Json 在clientApi那里
35 需要检查之前是否跑过此策略
36 根据Json来确定唯一的编码
37 裸API 断线重连

则应该把上市之日前的财报数据都删掉 以pubDate为准
endDate					pubDate
2017-12-31 00:00:00.000	2018-03-15 00:00:00.000
2017-09-30 00:00:00.000	2017-10-26 00:00:00.000
2017-06-30 00:00:00.000	2017-08-08 00:00:00.000
2017-03-31 00:00:00.000	2017-04-26 00:00:00.000
2016-12-31 00:00:00.000	2018-03-15 00:00:00.000 有问题
2016-12-31 00:00:00.000	2017-02-09 12:00:00.000
2016-09-30 00:00:00.000	2017-10-26 00:00:00.000
2016-06-30 00:00:00.000	2017-08-08 00:00:00.000
2016-03-31 00:00:00.000	2017-04-26 00:00:00.000
2015-12-31 00:00:00.000	2017-04-26 00:00:00.000 有问题
2015-12-31 00:00:00.000	2016-02-26 12:00:00.000
2015-09-30 00:00:00.000	2016-10-28 00:00:00.000
2015-06-30 00:00:00.000	2016-08-26 00:00:00.000
2015-03-31 00:00:00.000	2016-04-22 00:00:00.000
2014-12-31 00:00:00.000	2016-04-08 00:00:00.000 有问题
2014-09-30 00:00:00.000	2015-10-30 00:00:00.000
2014-06-30 00:00:00.000	2015-08-12 00:00:00.000
2014-03-31 00:00:00.000	2015-04-23 00:00:00.000
2013-12-31 00:00:00.000	2014-04-18 00:00:00.000

2013-12-31 00:00:00.000	2014-01-20 00:00:00.000
2013-06-30 00:00:00.000	2013-12-31 00:00:00.000
2012-12-31 00:00:00.000	2013-12-31 00:00:00.000
2011-12-31 00:00:00.000	2013-12-31 00:00:00.000
2010-12-31 00:00:00.000	2013-12-31 00:00:00.000
2009-12-31 00:00:00.000	2012-05-04 00:00:00.000

这些有问题的数据怎么办？艹 没法用，得用原始三表中的公布日期，那么暂时就用标准日期来运行吧、下一个版本再完善。

ISSUE
因为获取的成分股都是最新一期的，那么用这些成分股去取历史中的股票，就可能不存在。
比如上证50的最新的成分股有江苏银行，但是历史上取不到这只股票，因为那时候还没有发行。
所以取50只股票，有可能取不满50只。 比如某一天之前没有江苏银行，交易的时候没有，某一天起，突然有了，
那也不能凭空把江苏银行加入到持仓中，所以held需要持仓中的票来held，




