コード例 #1
0
ファイル: 量化复盘_版本1.py プロジェクト: fswzb/MT
def dailyfp(now, t1ztdic):
    now = someday(now, 0)
    before = someday(now, -70)
    Market(before, now, ['399317.ZICN'])
    #T日复盘
    _tradedate = now
    allgp, allDivhis = MktequGet(_tradedate)
    _Tret, _Tchance, _Thighvolret, _Thchance, _Thighvolval, _Tratio, _Tzt, _Tdf5, _Tztdic, _Thturnrate, _Tturnrate, _Tdtdic = dailyReview(
        allgp, allDivhis)
    _lxzt = msum.lxztordt(_Tztdic.keys(), _tradedate)
    _lxdt = msum.lxztordt(_Tdtdic.keys(), _tradedate, False)
    print "高换手赚钱概率%.2f%%(收益%.2f%%)成交量%.1f(换手率%.2f%% 大盘换手率%.2f%%)" % (
        round(_Thchance, 3) * 100, round(_Thighvolret, 3) * 100,
        _Thighvolval / 100000000., _Thturnrate * 100, _Tturnrate * 100)
    print "赚钱概率%.2f%%(收益%.2f%%)" % (round(_Tchance, 3) * 100,
                                    round(_Tret, 3) * 100)
    print "真实涨跌停比 %d:%d" % (len(_Tztdic), len(_Tdtdic))
    #print [ k[0:6] for k,v in _Tztdic.iteritems()]
    _retlxzt = []
    for k, v in _lxzt.iteritems():
        if k > 1:
            _retlxzt = _retlxzt + v
            print "%d连板股票 %d %s" % (
                k, len(v),
                map(lambda x: [x[0][:6],
                               '%.2f%%' % (round(x[1], 3) * 100)], v))
        else:
            print "真实涨停 %d %s" % (
                len(v),
                map(lambda x: [x[0][:6],
                               '%.2f%%' % (round(x[1], 3) * 100)], v))
    for k, v in _lxdt.iteritems():
        if k > 1:
            print "连续%d个跌停股票 %d %s" % (
                k, len(v),
                map(lambda x: [x[0][:6],
                               '%.2f%%' % (round(x[1], 3) * 100)], v))
        else:
            print "跌停股票 %d %s" % (
                len(v),
                map(lambda x: [x[0][:6],
                               '%.2f%%' % (round(x[1], 3) * 100)], v))
    print "跌幅超5股票 %d" % (_Tdf5)
    if len(t1ztdic) != 0:
        _T1ztret, _T1ztchance = yesterdayztret(t1ztdic, _date)  #昨日涨停赚钱效应
        print "昨日涨停赚钱概率%.2f%%(收益%.2f%%)" % (round(_T1ztchance, 3) * 100,
                                            round(_T1ztret, 3) * 100)
    return [_e[0] for _e in _retlxzt], _Tztdic, _Tdtdic
コード例 #2
0
ファイル: 量化复盘_版本1.py プロジェクト: fswzb/MT
                x[0],
                '%.2f%%' % (round(x[1], 3) * 100),
                '%.2f%%' % (round(x[2], 3) * 100)
            ], _temp))

#export excel
templist = _T1ztdic.keys() + _T1dtdic.keys()
df = DataAPI.MktEqudAdjGet(
    beginDate=_his['tradeDate'].iloc[-1],
    endDate=_his['tradeDate'].iloc[-1],
    secID=templist,
    field=['tradeDate', 'ticker', 'secID', 'secShortName', 'highestPrice'])
df[u'涨跌停次数'] = range(0, len(df))
for i in df.index:
    if _T1ztdic.has_key(df['secID'][i]):
        dic = msum.lxztordt([df['secID'][i]], _his['tradeDate'].iloc[-1])
        if len(dic) == 1:
            df[u'涨跌停次数'][i] = dic.keys()[0]
        else:
            df[u'涨跌停次数'][i] = 1
    elif _T1dtdic.has_key(df['secID'][i]):
        dic = msum.lxztordt([df['secID'][i]], _his['tradeDate'].iloc[-1],
                            False)
        if len(dic) == 1:
            df[u'涨跌停次数'][i] = -dic.keys()[0]
        else:
            df[u'涨跌停次数'][i] = -1

firstzt = range(0, len(df))
lastzt = range(0, len(df))
kbnumber = range(0, len(df))