Files
my_wiki/raw/量化/abuquant-src/abupy/WidgetBu/ABuWGDATool.py
T

93 lines
3.8 KiB
Python

# -*- encoding:utf-8 -*-
"""量化振幅分析工具图形可视化"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import ipywidgets as widgets
from IPython.display import display
from ..UtilBu import ABuKLUtil
from ..WidgetBu.ABuWGToolBase import WidgetToolBase, multi_fetch_symbol_analyse
__author__ = '阿布'
__weixin__ = 'abu_quant'
# noinspection PyUnusedLocal
class WidgetDATool(WidgetToolBase):
"""振幅分析界面"""
def __init__(self, tool_set):
"""初始化数据分析界面"""
super(WidgetDATool, self).__init__(tool_set)
da_list = []
tip_label1 = widgets.Label(u'分析目标需要在\'分析设置\'中选择', layout=self.label_layout)
tip_label2 = widgets.Label(u'需要设置多个分析目标进行对比', layout=self.label_layout)
da_list.append(tip_label1)
da_list.append(tip_label2)
date_week_wave_bt = widgets.Button(description=u'交易日震幅对比分析', layout=widgets.Layout(width='98%'),
button_style='info')
date_week_wave_bt.on_click(self.date_week_wave)
da_list.append(date_week_wave_bt)
p_change_stats_bt = widgets.Button(description=u'交易日涨跌对比分析', layout=widgets.Layout(width='98%'),
button_style='info')
p_change_stats_bt.on_click(self.p_change_stats)
da_list.append(p_change_stats_bt)
wave_change_rate_bt = widgets.Button(description=u'振幅统计套利条件分析', layout=widgets.Layout(width='98%'),
button_style='info')
wave_change_rate_bt.on_click(self.wave_change_rate)
da_list.append(wave_change_rate_bt)
date_week_win_bt = widgets.Button(description=u'交易日涨跌概率分析', layout=widgets.Layout(width='98%'),
button_style='info')
date_week_win_bt.on_click(self.date_week_win)
da_list.append(date_week_win_bt)
bcut_change_vc_bt = widgets.Button(description=u'交易日涨跌区间分析(预定区间)', layout=widgets.Layout(width='98%'),
button_style='info')
bcut_change_vc_bt.on_click(self.bcut_change_vc)
da_list.append(bcut_change_vc_bt)
qcut_change_vc_bt = widgets.Button(description=u'交易日涨跌区间分析(不定区间)', layout=widgets.Layout(width='98%'),
button_style='info')
qcut_change_vc_bt.on_click(self.qcut_change_vc)
da_list.append(qcut_change_vc_bt)
self.widget = widgets.VBox(da_list, layout=widgets.Layout(width='58%'))
@multi_fetch_symbol_analyse
def qcut_change_vc(self, kl_dict, bt):
"""交易日涨跌区间分析(不定区间)action"""
display(ABuKLUtil.qcut_change_vc(kl_dict))
@multi_fetch_symbol_analyse
def bcut_change_vc(self, kl_dict, bt):
"""交易日涨跌区间分析(预定区间)action"""
display(ABuKLUtil.bcut_change_vc(kl_dict))
@multi_fetch_symbol_analyse
def date_week_win(self, kl_dict, bt):
"""交易日涨跌概率分析action"""
display(ABuKLUtil.date_week_win(kl_dict))
@multi_fetch_symbol_analyse
def wave_change_rate(self, kl_dict, bt):
"""振幅统计套利条件分析action"""
ABuKLUtil.wave_change_rate(kl_dict)
@multi_fetch_symbol_analyse
def date_week_wave(self, kl_dict, bt):
"""交易日震幅对比分析action"""
display(ABuKLUtil.date_week_wave(kl_dict))
@multi_fetch_symbol_analyse
def p_change_stats(self, kl_dict, bt):
"""交易日涨跌对比分析action"""
ABuKLUtil.p_change_stats(kl_dict)