[关闭]
@Channelchan 2018-11-29T23:03:14.000000Z 字数 2215 阅读 149849

Python 技术分析

量化是技术分析最好的体现

目录

什么是技术分析?

定义: '技术分析是指以市场行为为研究对象,以判断市场趋势并跟随趋势的周期性变化来进行股票及一切金融衍生物交易决策的方法的总和。'

技术分析主要有哪些模块?

  1. 趋势理论
  2. 蜡烛图形态
  3. 动能指标
  4. 成交量指标
  5. 相对强弱市场
  6. 市场宽度

现代的技术分析该如何使用?

Chart2.jpg-76.8kB
Chart1.jpg-90kB

反对与支持的理论?

反对派:
1. 有效市场假说:
弱有效市场(价格衍生的数据无用),半强式有效市场假说(过去的公开信息无用),强有效市场假说(内幕消息无用)
2. 随机波动原理:
TA_Random.png-1.4kB

支持派:
1. 行为金融学:
套利回归正确价位的限制,人类理性的限制

  1. 肥尾分布:
    价格分布有肥尾效应,两边较长

什么是科学的技术分析过程?

  1. 观察市场
  2. 思考问题与现象
  3. 提出假设
  4. 设计可测试的预测模型
  5. 收集数据进行预测
    (无效要改变条件参数等,拒绝假设,重新设计。)
  6. 设计出客观科学的预测模型

TA_Lib需要什么样的数据格式?

  1. 'numpy.ndarray'
  2. dataframe

安装talib编译版本:http://www.lfd.uci.edu/~gohlke/pythonlibs/

数据获取 :

https://pan.baidu.com/s/116o6LU1MX-E8NyqpEKxu4g

  1. import talib as ta
  2. import pandas as pd
  3. import warnings
  4. import numpy as np
  5. warnings.filterwarnings('ignore')
  6. data = pd.read_excel('three.xlsx', sheetname='BTCUSDT.binance', index_col='datetime')
  7. #读取'numpy.ndarray'
  8. print(ta.MA(data.close.values, 5)[-5:])
[4293.452 4286.222 4273.788 4235.412 4222.592]
  1. print(type(data))
<class 'pandas.core.frame.DataFrame'>
  1. print(data.tail())
datetime
2018-11-28 22:00:00    4236.09
2018-11-28 23:00:00    4264.85
2018-11-29 00:00:00    4270.00
2018-11-29 01:00:00    4162.55
2018-11-29 02:00:00    4179.47
Name: close, dtype: float64
  1. from talib import abstract
  2. #直接读取DataFrame,默认读取cloumns名为close的数据。
  3. data['close'] = data.close
  4. print(abstract.MA(data,2).tail(10))
datetime
2018-11-28 17:00:00    4228.340
2018-11-28 18:00:00    4280.295
2018-11-28 19:00:00    4316.585
2018-11-28 20:00:00    4343.300
2018-11-28 21:00:00    4299.000
2018-11-28 22:00:00    4239.830
2018-11-28 23:00:00    4250.470
2018-11-29 00:00:00    4267.425
2018-11-29 01:00:00    4216.275
2018-11-29 02:00:00    4171.010
dtype: float64
  1. #Example
  2. from datetime import datetime
  3. data=data.close
  4. print(data.tail())
datetime
2018-11-28 22:00:00    4236.09
2018-11-28 23:00:00    4264.85
2018-11-29 00:00:00    4270.00
2018-11-29 01:00:00    4162.55
2018-11-29 02:00:00    4179.47
Name: close, dtype: float64
  1. print(data.values[-5:])
  2. print(type(data.values))
[4236.09 4264.85 4270.   4162.55 4179.47]
<class 'numpy.ndarray'>
  1. #读取'numpy.ndarray'
  2. ta.MA(data.values, 2)[-5:]
array([4239.83 , 4250.47 , 4267.425, 4216.275, 4171.01 ])

常见问题

  1. 技术分析有什么策略?
  2. 如何选择合适的策略?
  3. 如何优化交易策略?
  4. 如何通过策略获得稳定收益?
  5. 如何量化技术分析?
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注