from inner_package import show from QUANTAXIS.QAUtil.QASetting import DATABASE from pymongo import MongoClient import QUANTAXIS as QA # 连接数据库 client = MongoClient('localhost', 27017) db = client['quantaxis'] client = DATABASE # 获取所有的股票列表,服务器 stock_list = QA.QA_fetch_get_stock_list('tdx').code.tolist() # 设置分笔的周期 # 暂时前复权,其他是摆设 code = ['000001'] original = th.TushareHelper(code, '2017-01-11', '2019-08-01', 'to_qfq', period='D') # 储存data_original_ex筛选数据,data_original全部数据,date_tickers添加时间数据 original.data_transfer() ####################################################################################################################################################### # K线数据标准化处理,输入的是列表,对输入的数据进行处理 sta = standard.StandardHandle(original.data_original) # 处理K线deal_candle sta.deal_candle() # 思路 # 1、先获取所有的顶和底,标准转向 # 2、连续顶底的处理 # 3、输出 sta.get_top_bottom()
import sys import datetime from external_package import tushare_helper as th from inner_package import standardized as standard from inner_package import show # original = th.TushareHelper('000001', datetime.date.today()+ datetime.timedelta(days=-1),datetime.date.today() + datetime.timedelta(days=+1),'1min') original = th.TushareHelper('000001', '2017-12-04', '2017-12-12', 'D') original.data_transfer() sta = standard.StandardHandle(original.data_original) sta.deal_candle() sta.get_top_bottom() date_tickers = original.date_tickers my_plot = show.PlotShow(date_tickers, '000001') my_plot.candle_show(original.data_original_ex, []) date_tickers = sta.date_tickers my_plot = show.PlotShow(date_tickers, '000001') # my_plot.candle_show(sta.standardized_list_ex, []) my_plot.candle_show(sta.standardized_list_ex, sta.top_bottom_list_ex) my_plot.candle_show(sta.standardized_list_ex, sta.standardized_top_bottom_list_ex)
# -*- coding: UTF-8 -*- # 均线系统+吻 import os import sys import datetime sys.path.append( os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))) from external_package import tushare_helper as th from inner_package import standardized as standard from inner_package import show from inner_package import ma_kiss as mk code = "002500" original = th.TushareHelper( code, datetime.date.today() + datetime.timedelta(days=-30), datetime.date.today() + datetime.timedelta(days=1), '60min') original.data_transfer_ma() makiss = mk.MAKiss(code, original.data_frame_ma_mini) my_plot = show.PlotShow([], code) # 交点获取 makiss.get_intersections() print(len(makiss.intersections)) print(makiss.intersections) # 吻获取 makiss.get_lip_kiss() print(makiss.lip_kiss)
if self.standardized_list is None or self.standardized_list.length < 8: return True else: return False # 中枢个数 def get_central_count(self): pass # 零个中枢 def deal_zero_central(self): pass # 一个中枢 def deal_one_central(self): pass # 两个中枢 def deal_two_central(self): pass original = th.TushareHelper( '000001', datetime.date.today() + datetime.timedelta(days=-1), datetime.date.today() + datetime.timedelta(days=+1), '30min') original.data_transfer() dcf = DailyClassfication(original.data_original) print(dcf.standardized_list)
import sys import datetime # 测试文件, from external_package import tushare_helper as th # from external_package import quantaxis_helper as th from inner_package import standardized as standard from inner_package import show from QUANTAXIS.QAUtil.QASetting import DATABASE from pymongo import MongoClient import QUANTAXIS as QA stock_list = ['000876'] # todo 添加不同周期的输入路径 original = th.TushareHelper(stock_list, '2016-02-22', '2019-07-15', 'W') # original = th.TushareHelper('000001', '2017-02-03', '2019-07-11', 'qfq', 'W') # 储存data_original_ex筛选数据,data_original全部数据,date_tickers添加时间数据 original.data_transfer() ####################################################################################################################################################### # K线数据标准化处理,输入的是列表,对输入的数据进行处理 sta = standard.StandardHandle(original.data_original) # 处理K线deal_candle sta.deal_candle() # 思路 # 1、先获取所有的顶和底,标准转向 # 2、连续顶底的处理 # 3、输出 sta.get_top_bottom() #画图的部分 date_tickers = original.date_tickers #获取原始标记的时间
from inner_package import show from QUANTAXIS.QAUtil.QASetting import DATABASE from pymongo import MongoClient import QUANTAXIS as QA client = MongoClient('localhost', 27017) db = client['quantaxis'] client = DATABASE stock_list = QA.QA_fetch_get_stock_list('tdx').code.tolist() # original = th.TushareHelper('000001', datetime.date.today()+ datetime.timedelta(days=-1),datetime.date.today() + datetime.timedelta(days=+1),'1min') # stock_list = ['600776'] for num, code in enumerate(stock_list): try: print('###############################', num) # 实例化数据赋值类 original = th.TushareHelper(code, '2000-02-22', '2019-07-15', 'W') # original = th.TushareHelper('000001', '2017-02-03', '2019-07-11', 'qfq', 'W') # 储存data_original_ex筛选数据,data_original全部数据,date_tickers添加时间数据 original.data_transfer() ####################################################################################################################################################### # K线数据标准化处理,输入的是列表,对输入的数据进行处理 sta = standard.StandardHandle(original.data_original) # 处理K线deal_candle sta.deal_candle() # 思路 # 1、先获取所有的顶和底,标准转向 # 2、连续顶底的处理 # 3、输出 sta.get_top_bottom()
def save_all_pen(start, end, period, stock_list, client): # 设置分笔的周期 # 暂时前复权,其他是摆设 for x, code in enumerate(stock_list): try: original = th.TushareHelper(code, start, end, 'to_qfq', period=period) # 储存data_original_ex筛选数据,data_original全部数据,date_tickers添加时间数据 original.data_transfer() ####################################################################################################################################################### # K线数据标准化处理,输入的是列表,对输入的数据进行处理 sta = standard.StandardHandle(original.data_original) # 处理K线deal_candle sta.deal_candle() # 思路 # 1、先获取所有的顶和底,标准转向 # 2、连续顶底的处理 # 3、输出 sta.get_top_bottom() pen_collect = [] # 在这个地方 为首尾分型添加标记 # 在增量更新是 首先更新带标记的笔(日线,周线) #除了 开始和结束分型 其他都用typing_value 计算 for i, item in enumerate(sta.count_standardized_top_bottom_list): if i > 0 and i not in [ 1, len(sta.count_standardized_top_bottom_list) - 1 ]: #根据顶底分型来确定取高点还是低点 pen_type = 0 #确定笔 pen_collect.append( { #代码 #开始时间 #结束时间 #涨幅 #笔类型 -1 0 1 (-1 初始笔,0 确定笔,1未确定笔) 'code': item.name[1], 'start': sta.count_standardized_top_bottom_list[i - 1]['index'], 'end': item['index'], 'start_price': sta.count_standardized_top_bottom_list[i - 1]['typing_value'], 'end_price': item['typing_value'], 'ratio': (item['typing_value'] - sta.count_standardized_top_bottom_list[i - 1]['typing_value']) / sta.count_standardized_top_bottom_list[i - 1]['typing_value'], 'typing': pen_type, } ) elif i == 1: pen_type = -1 #初始笔 pen_collect.append( { # 代码 # 开始时间 # 结束时间 # 涨幅 # 笔类型 -1 0 1 (-1 初始笔,0 确定笔,1未确定笔) 'code': item.name[1], 'start': sta.count_standardized_top_bottom_list[i - 1]['index'], 'end': item['index'], 'start_price': sta.count_standardized_top_bottom_list[i - 1]['low'], # 高点 'end_price': item['typing_value'], 'ratio': (item['typing_value'] - sta.count_standardized_top_bottom_list[i - 1]['low']) / sta.count_standardized_top_bottom_list[i - 1]['low'], 'typing': pen_type, } ) elif i == len(sta.count_standardized_top_bottom_list) - 1: pen_type = 1 #待确定的最后一笔 pen_collect.append( { # 代码 # 开始时间 # 结束时间 # 涨幅 # 笔类型 -1 0 1 (-1 初始笔,0 确定笔,1未确定笔) 'code': item.name[1], 'start': sta.count_standardized_top_bottom_list[i - 1]['index'], 'end': item['index'], 'start_price': sta.count_standardized_top_bottom_list[i - 1]['typing_value'], # 高点 'end_price': item['high'], 'ratio': (item['high'] - sta.count_standardized_top_bottom_list[i - 1]['typing_value']) / sta.count_standardized_top_bottom_list[i - 1]['typing_value'], 'typing': pen_type, } ) coll = client.pen_box_day # 由于数据不全造成前复权的问题 coll.insert_many(pen_collect) print(x, code) except: with open('error_day.txt', 'a') as f: f.write('\n' + code)
import sys import datetime from external_package import tushare_helper as th from inner_package import standardized as standard from inner_package import show import QUANTAXIS as QA # original = th.TushareHelper('000001', datetime.date.today()+ datetime.timedelta(days=-1),datetime.date.today() + datetime.timedelta(days=+1),'1min') original = th.TushareHelper('000001', '2020-01-01', '2020-06-30', 'D') # original = QA.QA_fetch_stock_day('000001', start, end, format='pd') original.data_transfer() sta = standard.StandardHandle(original.data_original) sta.deal_candle() sta.get_top_bottom() date_tickers = original.date_tickers my_plot = show.PlotShow(date_tickers, '000001') my_plot.candle_show(original.data_original_ex, []) date_tickers = sta.date_tickers my_plot = show.PlotShow(date_tickers, '000001') # my_plot.candle_show(sta.standardized_list_ex, []) my_plot.candle_show(sta.standardized_list_ex, sta.top_bottom_list_ex) my_plot.candle_show(sta.standardized_list_ex, sta.standardized_top_bottom_list_ex)
import sys import datetime from external_package import tushare_helper as th from inner_package import standardized as standard from inner_package import show # original = th.TushareHelper('000001', datetime.date.today()+ datetime.timedelta(days=-1),datetime.date.today() + datetime.timedelta(days=+1),'1min') # original = th.TushareHelper('000001', '2017-12-04', '2018-12-12', 'D') # original = th.TushareHelper('600756', '2018-01-01', '2018-12-31', 'D', [5,20],'E') original = th.TushareHelper('600756', '2018-08-01', '2018-12-31', '60MIN', [5, 20], 'E') original.data_transfer() sta = standard.StandardHandle(original.data_original) sta.deal_candle() sta.get_top_bottom() date_tickers = sta.date_tickers my_plot = show.PlotShow(date_tickers, '600756') # my_plot.candle_show(sta.standardized_list_ex, []) # my_plot.candle_show(sta.standardized_list_ex, sta.top_bottom_list_ex) my_plot.candle_show(sta.standardized_list_ex, sta.standardized_top_bottom_list_ex)