Back to Abu

附录C-量化统计分析及指标应用

ipython/附录C-量化统计分析及指标应用.ipynb

1.102.3 KB
Original Source

附录C-量化统计分析及指标应用

python
from __future__ import print_function
from __future__ import division

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
sns.set_context(rc={'figure.figsize': (14, 7) } )
figzize_me = figsize =(14, 7)
import warnings; warnings.filterwarnings('ignore')

import os
import sys
# 使用insert 0即只使用github,避免交叉使用了pip安装的abupy,导致的版本不一致问题
sys.path.insert(0, os.path.abspath('../'))
import abupy
abupy.env.enable_example_env_ipython()

C.1 量化统计分析应用

abu量化系统github地址 (您的star是我的动力!)

abu量化文档教程ipython notebook

本节内容建议对照阅读abu量化文档:第13节 量化技术分析应用

python
from abupy import ABuSymbolPd
tsla_df = ABuSymbolPd.make_kl_df('usTSLA', n_folds=2)
tsla_df.tail()
python
from abupy import tl
jumps = tl.jump.calc_jump(tsla_df)
python
jumps
python
# sw[0]代表非时间因素的jump_power,sw[1]代表时间加权因素的jump_power,当sw[0]=1时与非加权方式相同,具体实现请参考源代码  
jump_pd = tl.jump.calc_jump_line_weight(tsla_df, sw=(0.5, 0.5))
python
tl.wave.calc_wave_abs(tsla_df, xd=21, show=True)

C.2 量化技术指标应用: 对量化策略失败结果的人工分析

python
from abupy import EStoreAbu, abu

abu_result_tuple_train = abu.load_abu_result_tuple(n_folds=5, store_type=EStoreAbu.E_STORE_CUSTOM_NAME, 
                                         custom_name='train_cn')

# 只筛选orders中有交易结果的单子
has_result = abu_result_tuple_train.orders_pd[
    abu_result_tuple_train.orders_pd.result == -1]

# 随便拿一个交易数据作为示例
sample_order = has_result.ix[100]
python
abupy.env.disable_example_env_ipython()
python
from abupy import ABuMarketDrawing
_ = ABuMarketDrawing.plot_candle_from_order(sample_order)
python
from abupy import nd
nd.macd.plot_macd_from_order(sample_order, date_ext=252)
python
nd.boll.plot_boll_from_order(has_result.ix[100], date_ext=252)
python
nd.ma.plot_ma_from_order(has_result.ix[100], date_ext=252, time_period=[10, 20, 30, 60, 90, 120])