股票小工具-七傷拳戰(zhàn)法

七傷拳戰(zhàn)法自己百度,關(guān)鍵點為:
7~9天內(nèi),有連續(xù)兩個實體漲停,當(dāng)前價格在第一個開始漲停之上
戰(zhàn)法威力:可以獲得資金潛伏的個股,埋伏漲停板

# 七傷拳戰(zhàn)法
# 邏輯:連續(xù)2天實體漲停的,就發(fā)郵件
# 7~9天內(nèi),有連續(xù)兩個實體漲停,當(dāng)前價格在第一個開始漲停之上,這是抓第一天之后的

import easyutils as eu
import tushare as ts
import datetime
from retrying import retry
# from tushare.stock import cons as ct
import numpy as np

cons = ts.get_apis()


# 獲取個股數(shù)據(jù),獲取最近N個交易日的數(shù)據(jù)


@retry
def getstockdataofday(stockcode, timeperiod=180, rangeperiod=9):
    datedelay = datetime.date.today() - datetime.timedelta(days=timeperiod)
    startdate = str(datedelay.isoformat())
    enddate = str(datetime.date.today().isoformat())
    # print('start:%s,end:%s' % (startdate, enddate))
    stockdata = ts.bar(stockcode, conn=cons, freq='D',
                       start_date=startdate, end_date=enddate)
    if stockdata['close'] is not None:
        stockdata['preclose'] = stockdata['close'].shift(1)
    stockdata['pchange'] = np.round((
        (stockdata['close'] / stockdata['preclose'] - 1) * 100), 2)
    stockdata['maxpercent'] = np.round((
        (stockdata['high'] / stockdata['low'] - 1) * 100), 2)
    return stockdata.head(rangeperiod)

# 獲取股票列表


@retry
def getbasic():
    basic = ts.get_stock_basics()
    return basic


def isconsecutivedays(stockcode):
    stockdata = getstockdataofday(stockcode, 180, 9)
    # print(stockdata)
    alist = []
    istarget = False
    for i in range(len(stockdata)):
        if (stockdata.iloc[i]['pchange'] >= 9.9) and (stockdata.iloc[i]['maxpercent'] >= 1):
            alist.append(i)

        for i in range(0, len(alist) - 1):
            if(alist[i + 1] - alist[i]) == 1:
                istarget = True
    return istarget


def main():
    print('main doc.')
    is_holiday = eu.is_holiday_today()
    if not is_holiday:
        print('交易時間')
    basic = getbasic()
    print('get basic finish.')
    total = len(basic)
    index = 1
    preylist = []
    for stockcodeitem in basic.index.values:
        if isconsecutivedays(stockcodeitem):
            print('found one:%s' % stockcodeitem)
            preylist.append(stockcodeitem)
        print('%s/%s code:%s' % (index, total, stockcodeitem))
        index = index + 1
    print('符合的有:')
    print(preylist)


if __name__ == '__main__':
    print('seven sided strike on stock.')
    main()

非常好的模式,讓我今年收益翻倍的文章,強烈推薦:2020年4月至6月凈利潤斷層實戰(zhàn)小結(jié)-真香~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容