精华内容
下载资源
问答
  • python股票量化交易
    千次阅读
    2021-02-10 23:58:19

    第 1章 理解Python股票量化交易  1

    1.1 多角度分析量化交易 1

    1.1.1 量化交易的本质 2

    1.1.2 量化交易的发展 4

    1.1.3 量化交易的优势 7

    1.1.4 量化交易的过程 8

    1.2 多角度分析股票价格 9

    1.2.1 从股票的起源看本质 9

    1.2.2 如何衡量股票溢价 11

    1.2.3 股票收益的组成 12

    1.2.4 股价波动的原因 13

    1.3 为什么选择Python语言 14

    1.3.1 概述编程语言的发展 14

    1.3.2 面向过程和面向对象 15

    1.3.3 Python的起源及优势 16

    1.4 本章总结 17

    第 2章 量化语言Python的关键应用 18

    2.1 快速部署Python开发环境 18

    2.1.1 Python环境安装 18

    2.1.2 第三方库安装 21

    2.1.3 开发工具安装 22

    2.2 开启Python的第 一个程序 26

    2.2.1 如何建立标准py文件 26

    2.2.2 区分模块、包、库 28

    2.2.3 import发挥扩展优势 29

    2.2.4 调试助手print( )函数 30

    2.3 何为Python动态类型特性 31

    2.3.1 变量的种类 31

    2.3.2 动态类型的特性 35

    2.3.3 内存管理与回收 38

    2.3.4 深入探究PyObject 39

    2.4 如何正确地创建函数 41

    2.4.1 用def关键字定义函数 41

    2.4.2 参数传递的形式 41

    2.4.3 匿名函数lambda 44

    2.5 初识Python面向对象 45

    2.5.1 父类、子类和实例 46

    2.5.2 元类和类及object和type 47

    2.5.3 经典类和新式类的区别 49

    2.6 如何用面向对象思维编程 49

    2.6.1 如何正确地构建类 50

    2.6.2 类的实例化全过程 51

    2.6.3 如何引用类的属性 52

    2.6.4 如何引用类的方法 54

    2.6.5 类的继承机制应用 55

    2.6.6 类的组合机制应用 57

    2.7 深入理解for-in循环 57

    2.7.1 for-in循环的原理 57

    2.7.2 for-in循环的使用技巧 59

    2.7.3 生成器的原理和作用 62

    2.8 巧用装饰器测试代码效率 63

    2.9 多进程和多线程的提速方案 67

    2.9.1 多进程和多线程 68

    2.9.2 Python的GIL原理 68

    2.9.3 多任务的解决方案 69

    2.10 未雨绸缪的异常处理机制 72

    2.10.1 分析try-except常规机制 72

    2.10.2 扩展try-except使用技巧 74

    2.11 本章总结 75

    第3章 第三方库NumPy快速入门 76

    3.1 初识N维数组对象 76

    3.2 N维数组对象的特性 78

    3.2.1 矢量运算的特性 78

    3.2.2 广播运算的特性 79

    3.2.3 用条件表达式选取元素 82

    3.3 高效处理性能的对比 83

    3.4 用常用数组处理函数 84

    3.4.1 创建数组的函数 85

    3.4.2 元素级处理函数 87

    3.4.3 线性代数相关函数 88

    3.5 本章总结 91

    第4章 第三方库Pandas快速入门 92

    4.1 Series和DataFrame概览 93

    4.2 Series的生成和访问 93

    4.2.1 Series的生成方法 94

    4.2.2 Series的访问方法 96

    4.3 DataFrame的生成和访问 97

    4.3.1 DataFrame的生成方法 97

    4.3.2 DataFrame的索引访问 99

    4.3.3 DataFrame的元素访问 100

    4.3.4 元素标签和位置的转换 103

    4.3.5 用条件表达式访问元素 105

    4.4 时间序列的生成和转换 106

    4.4.1 用datetime生成时间序列 106

    4.4.2 用Pandas生成时间序列 109

    4.4.3 时间序列的降采样 112

    4.4.4 时间序列的升采样 114

    4.5 DataFrame的规整化处理 117

    4.5.1 模拟生成股票行情数据 117

    4.5.2 DataFrame概览 120

    4.5.3 DataFrame的可视化 122

    4.5.4 DataFrame缺失值处理 123

    4.5.5 DataFrame精度的转换 125

    4.5.6 DataFrame合并处理 125

    4.6 DataFrame的高效遍历 128

    4.6.1 循环遍历的几种方式 129

    4.6.2 循环遍历的性能对比 130

    4.7 DataFrame的存储和加载 131

    4.7.1 将DataFrame存储至CSV 132

    4.7.2 将CSV加载为DataFrame 134

    4.8 本章总结 135

    第5章 第三方库Matplotlib快速入门 136

    5.1 两种绘图方式的区分 136

    5.1.1 函数式绘图 137

    5.1.2 对象式绘图 141

    5.2 常用图表类型的绘制 143

    5.2.1 折线图的绘制 143

    5.2.2 标注点的绘制 144

    5.2.3 参考线/区域的绘制 147

    5.2.4 双y轴图表的绘制 148

    5.2.5 条形图的绘制 149

    5.2.6 直方图的绘制 151

    5.2.7 K线图的绘制 152

    5.3 图形对象属性参数的调节 155

    5.4 多子图对象的创建和布局 158

    5.4.1 创建多子图对象的方法 158

    5.4.2 布局多子图对象的方法 161

    5.5 注意事项 163

    5.5.1 tight_layout( )出错问题 163

    5.5.2 中文显示乱码问题 164

    5.6 本章总结 164

    第6章 统计概率理论快速入门 165

    6.1 统计概率的基础知识 165

    6.1.1 随机事件与概率的关系 165

    6.1.2 离散和连续随机变量 166

    6.1.3 典型的随机变量分布 168

    6.2 深入理解伯努利分布 170

    6.2.1 伯努利分布的随机数 170

    6.2.2 伯努利分布的概率 170

    6.2.3 伯努利分布的市场模型 172

    6.3 深入理解正态分布 179

    6.3.1 正态分布的随机数 179

    6.3.2 生成概率密度函数 181

    6.3.3 正态分布与随机漫步 183

    6.4 本章总结 188

    第7章 股票行情数据的获取和管理 189

    7.1 如何获取股票行情数据 189

    7.1.1 用Panads获取股票数据 190

    7.1.2 用Tushare获取股票数据 192

    7.1.3 用Baostock获取股票数据 196

    7.2 规整化处理股票数据格式 199

    7.2.1 行索引时间格式规整化 200

    7.2.2 列索引名称格式规整化 202

    7.3 定制股票行情数据获取接口 203

    7.4 注册JSON格式自选股票池 204

    7.4.1 将股票池另存为JSON文件 205

    7.4.2 加载JSON文件以获取股票池 209

    7.5 用多任务为股票数据的获取提速 209

    7.6 用数据库管理本地行情数据 212

    7.6.1 Python操作SQLite的API 212

    7.6.2 Pandas操作SQLite的API 216

    7.6.3 建立SQLite股票行情数据库 217

    7.6.4 基于SQLite股票行情数据分析 219

    7.7 本章总结 221

    第8章 股票技术指标的可视化分析 222

    8.1 定制可视化接口 222

    8.1.1 可视化代码结构分析 224

    8.1.2 可视化接口框架实现 225

    8.1.3 可视化图表类型实现 228

    8.1.4 可视化接口使用说明 229

    8.2 基础技术指标的可视化 231

    8.2.1 原生量价指标可视化 232

    8.2.2 移动平均线SMA可视化 235

    8.2.3 震荡类指标KDJ可视化 237

    8.2.4 趋势类指标MACD可视化 239

    8.3 衍生技术指标的可视化 242

    8.3.1 均线交叉信号可视化 243

    8.3.2 股价跳空缺口可视化 246

    8.3.3 量价指标周期重采样 251

    8.3.4 黄金分割与支撑/阻力线 256

    8.4 使用TA-Lib库计算技术指标 261

    8.4.1 常用技术指标的计算方法 261

    8.4.2 常见K线形态的识别方法 265

    8.4.3 TA-Lib库的计算速率优势 268

    8.5 自定义显示界面框架开发 268

    8.5.1 行情界面需求分析 269

    8.5.2 行情界面框架实现 269

    8.5.3 如何显示行情界面 272

    8.6 本章总结 275

    第9章 构建股票量化交易策略体系 276

    9.1 建立多维度的度量体系 276

    9.1.1 交易盈亏区间可视化 277

    9.1.2 交易概览信息的统计 281

    9.1.3 度量策略资金的*收益 283

    9.1.4 度量策略与基准的相对收益 286

    9.1.5 度量策略的*风险回撤 288

    9.1.6 回测界面的自定义设计 293

    9.2 经典择时策略进阶之股票量化 交易 304

    9.2.1 唐奇安通道突破策略的思想 305

    9.2.2 唐奇安通道突破策略的实现 306

    9.2.3 唐奇安通道突破策略的回测 310

    9.3 融入ATR跟踪止盈/止损策略 311

    9.3.1 ATR技术指标的实现 312

    9.3.2 止盈/止损策略的实现 313

    9.3.3 ATR止盈/止损策略回测 315

    9.4 蒙特卡洛法*化策略参数 316

    9.4.1 枚举法与蒙特卡洛法的区别 317

    9.4.2 蒙特卡洛参数*化的实现 322

    9.5 基于凯利公式量化仓位管理 324

    9.5.1 凯利公式的原理分析 324

    9.5.2 凯利公式的效果展示 326

    9.5.3 凯利公式在股票中的应用 327

    9.6 用经典选股策略完善股票量化体系 329

    9.6.1 线性回归的原理和实现 329

    9.6.2 用走势线性回归建立选股模型 332

    9.6.3 走势线性回归的衍生分析法 335

    9.7 谨防回测阶段的陷阱 338

    9.7.1 避免使用未来函数 338

    9.7.2 设置滑点以避免偷价 339

    9.7.3 避免无手续费的策略 340

    9.7.4 避免参数的过度优化 341

    9.8 本章总结 342

    更多相关内容
  • 目录第1章 理解Python股票量化交易1.1 多角度分析量化交易1.1.1 量化交易的本质1.1.2 量化交易的发展1.1.3 量化交易的优势1.1.4 量化交易的过程1.2 多角度分析股票价格1.2.1 从股票的起源看本质1.2.2 如何衡量股票...

    thread-14878093-1-1.html目录

    第1章 理解Python股票量化交易

    1.1 多角度分析量化交易

    1.1.1 量化交易的本质

    1.1.2 量化交易的发展

    1.1.3 量化交易的优势

    1.1.4 量化交易的过程

    1.2 多角度分析股票价格

    1.2.1 从股票的起源看本质

    1.2.2 如何衡量股票溢价

    1.2.3 股票收益的组成

    1.2.4 股价波动的原因

    1.3 为什么选择Python语言

    1.3.1 概述编程语言的发展

    1.3.2 面向过程和面向对象

    1.3.3 Python的起源及优势

    1.4 本章总结

    第 2章 量化语言Python的关键应用

    2.1 快速部署Python开发环境

    2.1.1 Python环境安装

    2.1.2 第三方库安装

    2.1.3 开发工具安装

    2.2 开启Python的第 一个程序

    2.2.1 如何建立标准py文件

    2.2.2 区分模块、包、库

    2.2.3 import发挥扩展优势

    2.2.4 调试助手print( )函数

    2.3 何为Python动态类型特性

    2.3.1 变量的种类

    2.3.2 动态类型的特性

    2.3.3 内存管理与回收

    2.3.4 深入探究PyObject

    2.4 如何正确地创建函数

    2.4.1 用def关键字定义函数

    2.4.2 参数传递的形式

    2.4.3 匿名函数lambda

    2.5 初识Python面向对象

    2.5.1 父类、子类和实例

    2.5.2 元类和类及object和type

    2.5.3 经典类和新式类的区别

    2.6 如何用面向对象思维编程

    2.6.1 如何正确地构建类

    2.6.2 类的实例化全过程

    2.6.3 如何引用类的属性

    2.6.4 如何引用类的方法

    2.6.5 类的继承机制应用

    2.6.6 类的组合机制应用

    2.7 深入理解for-in循环

    2.7.1 for-in循环的原理

    2.7.2 for-in循环的使用技巧

    2.7.3 生成器的原理和作用

    2.8 巧用装饰器测试代码效率

    2.9 多进程和多线程的提速方案

    2.9.1 多进程和多线程

    2.9.2 Python的GIL原理

    2.9.3 多任务的解决方案

    2.10 未雨绸缪的异常处理机制

    2.10.1 分析try-except常规机制

    2.10.2 扩展try-except使用技巧

    2.11 本章总结

    第3章 第三方库NumPy快速入门

    3.1 初识N维数组对象

    3.2 N维数组对象的特性

    3.2.1 矢量运算的特性

    3.2.2 广播运算的特性

    3.2.3 用条件表达式选取元素

    3.3 高效处理性能的对比

    3.4 用常用数组处理函数

    3.4.1 创建数组的函数

    3.4.2 元素级处理函数

    3.4.3 线性代数相关函数

    3.5 本章总结

    第4章 第三方库Pandas快速入门

    4.1 Series和DataFrame概览

    4.2 Series的生成和访问

    4.2.1 Series的生成方法

    4.2.2 Series的访问方法

    4.3 DataFrame的生成和访问

    4.3.1 DataFrame的生成方法

    4.3.2 DataFrame的索引访问

    4.3.3 DataFrame的元素访问

    4.3.4 元素标签和位置的转换

    4.3.5 用条件表达式访问元素

    4.4 时间序列的生成和转换

    4.4.1 用datetime生成时间序列

    4.4.2 用Pandas生成时间序列

    4.4.3 时间序列的降采样

    4.4.4 时间序列的升采样

    4.5 DataFrame的规整化处理

    4.5.1 模拟生成股票行情数据

    4.5.2 DataFrame概览

    4.5.3 DataFrame的可视化

    4.5.4 DataFrame缺失值处理

    4.5.5 DataFrame精度的转换

    4.5.6 DataFrame合并处理

    4.6 DataFrame的高效遍历

    4.6.1 循环遍历的几种方式

    4.6.2 循环遍历的性能对比

    4.7 DataFrame的存储和加载

    4.7.1 将DataFrame存储至CSV

    4.7.2 将CSV加载为DataFrame

    4.8 本章总结

    第5章 第三方库Matplotlib快速入门

    5.1 两种绘图方式的区分

    5.1.1 函数式绘图

    5.1.2 对象式绘图

    5.2 常用图表类型的绘制

    5.2.1 折线图的绘制

    5.2.2 标注点的绘制

    5.2.3 参考线/区域的绘制

    5.2.4 双y轴图表的绘制

    5.2.5 条形图的绘制

    5.2.6 直方图的绘制

    5.2.7 K线图的绘制

    5.3 图形对象属性参数的调节

    5.4 多子图对象的创建和布局

    5.4.1 创建多子图对象的方法

    5.4.2 布局多子图对象的方法

    5.5 注意事项

    5.5.1 tight_layout( )出错问题

    5.5.2 中文显示乱码问题

    5.6 本章总结

    第6章 统计概率理论快速入门

    6.1 统计概率的基础知识

    6.1.1 随机事件与概率的关系

    6.1.2 离散和连续随机变量

    6.1.3 典型的随机变量分布

    6.2 深入理解伯努利分布

    6.2.1 伯努利分布的随机数

    6.2.2 伯努利分布的概率

    6.2.3 伯

    展开▼

    展开全文
  • python股票量化系统

    2022-04-24 13:37:26
    python编写,支持python3.4+,有如下功能: 可视化(基于PyQT的界面) 多线程事件引擎 四大功能 股票数据 选股 策略回测 实盘交易 历史数据均免费来自于网络 Wind免费个人接口 TuShare 实盘微信提醒及交互 一键...
  • 博文《【实战】——基于GUI编程的python股票量化交易策略之双均线策略》利用GUI编程开发用户操作界面,以此来绘制动态的K线及双均线,实现界面动态交互效果。 学习完该实战项目后,你将掌握基于tkinter程序包开发...
  • Python股票量化交易(一)

    千次阅读 2021-08-14 12:16:05
    量化交易的本质 量化交易强调的是一种新兴的系统化金融投资方法。用先进的数学模型代替人的主观思维制定交易策略,利用计算机强大的运算力从庞大的股票、债券、期货等历史数据中回测交易策略的盈亏概率,通过管理...

    一.量化交易的本质

            量化交易强调的是一种新兴的系统化金融投资方法。用先进的数学模型代替人的主观思维制定交易策略,利用计算机强大的运算力从庞大的股票、债券、期货等历史数据中回测交易策略的盈亏概率,通过管理盈亏的概率帮助投资者做出准确的决策。

    二.量化交易的过程

            量化交易是将数据、策略和决策综合为一体的系统。首先是把历史行情、基本面信息、新闻资讯等数据进行初步清洗和处理,而后在大数据的基础上以数学建模、程序设计等方法建立交易策略,在对历史数据的回测中评价交易策略的效果,最终筛选出大概率下盈利的策略,并将其应用于实际交易中产生交易的信号。例如:买什么股、什么时候买、买多少、什么时候卖等。

            交易策略是量化交易的核心,包括择时、选股、仓位管理、参数优化、度量分析等角度的分析,不过要客观地声明,凡是公开的、用于人多的策略,基本也就不赚钱了。

            对于个人交易者来说,目前股票交易并没有全面开放程序化接入交易柜台业务,因此股票交易并不能像期货、数字货币那样能够实现全自动化的交易。

    三.多角度分析股票

            股票是股份公司发行的所有权的凭证。是股份公司为筹集资金而发行给个股东作为持股并借以取得股息和分红的一种有价证券。

            如何衡量股票溢价:

            市盈率(P/E ratio),也称“本益比”,它是评价股票水平是否合理的常用指标之一。

            每股收益(EPS),又称每股盈利。

            股价=每股收益*市盈率,即 P=EPS*PE

    四.股票技术指标的可视化分析

            股票分析一般分为基本面分析和技术指标分析,对于中小股民来说,很难解读政策层面的利好还是利空,也无法了解上市公司内部运营的实质状况以及发布的公告对于股价的影响有多大。而股价的走势则涵盖了所有的盘面信息,当主力做多,表明有资金进场,此时一切指标都会走好,我们只需要跟着主力进场就行。当资金离场时一切指标都会走坏,我们也只需要跟着主力离场即可。

    4.1绘制K线图

    #股票数据初始化
    stock_dat = df_stockload.copy(deep=True)
    #面向过程的方式实现
    fig = plt.figure(figsize=(14, 7), dpi=100, facecolor="white")  # 创建fig对象
    graph_kline = fig.add_subplot(1, 1, 1)  # 创建子图
    #方法1:
    mpf.candlestick2_ochl(graph_kline, stock_dat.Open, stock_dat.Close, stock_dat.High, stock_dat.Low, width=0.5,
                          colorup='r', colordown='g') # 绘制K线走势
    #方法2
    # 使用zip方法生成数据列表
    ohlc = list(zip(np.arange(0,len(stock_dat.index)),stock_dat.Open,stock_dat.Close,stock_dat.High,stock_dat.Low)) 
    # 绘制K线走势
    mpf.candlestick_ochl(graph_kline, ohlc, width=0.2, colorup='r', colordown='g', alpha=1.0) 
    
    graph_kline.set_title(u"000651 格力电器-日K线")
    graph_kline.set_xlabel("日期")
    graph_kline.set_ylabel(u"价格")
    graph_kline.set_xlim(0, len(stock_dat.index)) # 设置x轴的范围
    graph_kline.set_xticks(range(0, len(stock_dat.index), 15)) # X轴刻度设定 每15天标一个日期
    graph_kline.set_xticklabels([stock_dat.index.strftime('%Y-%m-%d')[index] \
                               for index in graph_kline.get_xticks()]) # 标签设置为日期
    fig.autofmt_xdate(rotation=45) # 避免x轴日期刻度标签的重叠 将每个ticker标签倾斜45度
    plt.show()

    4.2绘制成交量图 

    def draw_volume_chart(stock_dat):
        #绘制成交量图
        # 绘制BAR>0 柱状图
        bar_red = np.where(stock_dat.Open < stock_dat.Close,stock_dat.Volume,0)
        # 绘制BAR<0 柱状图
        bar_green = np.where(stock_dat.Open > stock_dat.Close,stock_dat.Volume,0)
        
        layout_dict = {'figsize':(14,5),
                      'index':stock_dat.index,
                      'draw_kind':{'bar':
                                      {'bar_red':bar_red,
                                      'bar_green':bar_green
                                      }
                                  },
                      'title':u"000651 格力电器-成交量",
                      'ylabel':u"成交量"
                      }
        app.fig_output(**layout_dict)
    draw_volume_chart(df_stockload.copy(deep=True))  # 成交量图

    4.3 绘制移动平均线图

    def draw_sma_chart(stock_dat):
        #绘制移动平均线图
        stock_dat['SMA20'] = stock_dat.Close.rolling(window=20).mean()
        stock_dat['SMA30'] = stock_dat.Close.rolling(window=30).mean()
        stock_dat['SMA60'] = stock_dat.Close.rolling(window=60).mean()
        
        layout_dict = {'figsize':(14,5),
                      'index':stock_dat.index,
                      'draw_kind':{'line':
                                      {'SMA20':stock_dat.SMA20,
                                      'SMA30':stock_dat.SMA30,
                                      'SMA60':stock_dat.SMA60
                                      }
                                  },
                      'title': u"000651 格力电器-均线",
                      'ylabel':u"价格",
                      'xlabel':u"日期",
                      'xticks':15,
                      'legend':u'best',
                      'xticklabels':'%Y-%m-%d'}
        app.fig_output(**layout_dict)
    draw_sma_chart(df_stockload.copy(deep=True))  # 移动平均线图

    4.4绘制KDJ图 

    def draw_kdj_chart(stock_dat):
        #绘制KDJ图
        low_list = stock_dat['Low'].rolling(9,min_periods=1).min()
        high_list = stock_dat['High'].rolling(9,min_periods=1).max()
        rsv = (stock_dat['Close']-low_list) / (high_list - low_list) * 100
        stock_dat['K'] = rsv.ewm(com=2,adjust=False).mean()
        stock_dat['D'] = stock_dat['K'].ewm(com=2,adjust=False).mean()
        stock_dat['J'] = 3*stock_dat['K'] - 2*stock_dat['D']
        
        layout_dict = {'figsize':(14,5),
                      'index':stock_dat.index,
                      'draw_kind':{'line':
                                      {'K':stock_dat.K,
                                      'D':stock_dat.D,
                                      'J':stock_dat.J
                                      }
                                  },
                      'title': u"000651 格力电器-KDJ",
                      'ylabel': u"KDJ",
                      'legend': u'best'}
        app.fig_output(**layout_dict)
    draw_kdj_chart(df_stockload.copy(deep=True))  # KDJ图

    4.5绘制MACD图 

    def draw_macd_chart(stock_dat):
        #绘制macd图
        #差离值
        macd_dif = stock_dat['Close'].ewm(span=12,adjust=False).mean() - stock_dat['Close'].ewm(span=26,adjust=False).mean()
        #查离平均值
        macd_dea = macd_dif.ewm(span=9,adjust=False).mean()
        #柱状值
        macd_bar = 2*(macd_dif - macd_dea)
        
        bar_red = np.where(macd_bar > 0,  macd_bar, 0) # 绘制BAR>0 柱状图
        bar_green = np.where(macd_bar < 0,  macd_bar, 0) # 绘制BAR<0 柱状图
        
        layout_dict = {'figsize': (14, 5),
                   'index': stock_dat.index,
                   'draw_kind': {'bar':
                                     {'bar_red': bar_red,
                                      'bar_green': bar_green
                                      },
                                 'line':
                                     {'macd dif': macd_dif,
                                      'macd dea': macd_dea
                                      }
                                 },
                   'title': u"000651 格力电器-MACD",
                   'ylabel': u"MACD",
                   'legend': u'best'}
    
        app.fig_output(**layout_dict)
    draw_macd_chart(df_stockload.copy(deep=True))  # MACD图

    4.6绘制均线金叉和死叉(均线交叉线) 

    def draw_cross_annotate(stock_dat):
        # 绘制均线金叉和死叉
    
        #graph_sma.legend(loc='upper left')
        #graph_range = stock_dat.High.max() - stock_dat.Low.min()
        #graph_sma.set_ylim(stock_dat.Low.min() - graph_range * 0.25, stock_dat.High.max()) # 设置y轴的范围
    
        # 绘制移动平均线图
        stock_dat['Ma20'] = stock_dat.Close.rolling(window=20).mean()  # pd.rolling_mean(stock_dat.Close,window=20)
        stock_dat['Ma30'] = stock_dat.Close.rolling(window=30).mean()  # pd.rolling_mean(stock_dat.Close,window=30)
    
        # 长短期均线序列相减取符号
        list_diff = np.sign(stock_dat['Ma20'] - stock_dat['Ma30'])
        # print(list_diff)
        list_signal = np.sign(list_diff - list_diff.shift(1))
        # print(list_signal)
    
        down_cross = stock_dat[list_signal < 0]
        up_cross = stock_dat[list_signal > 0]
    
        # 循环遍历 显示均线金叉/死叉提示符
        layout_dict = {'figsize': (14, 5),
                       'index': stock_dat.index,
                       'draw_kind': {'line':
                                         {'SMA-20': stock_dat.Ma20,
                                          'SMA-30': stock_dat.Ma30
                                          },
                                     'annotate':
                                         {u'死叉':
                                              {'andata': down_cross,
                                               'va':'top',
                                               'xy_y': 'Ma20',
                                               'xytext':(-30,-stock_dat['Ma20'].mean()*0.5),
                                               'fontsize': 8,
                                               'arrow': dict(facecolor='green', shrink=0.1)
                                              },
                                          u'金叉':
                                              {'andata': up_cross,
                                               'va': 'bottom',
                                               'xy_y': 'Ma20',
                                               'xytext': (-30, stock_dat['Ma20'].mean() * 0.5),
                                               'fontsize': 8,
                                               'arrow': dict(facecolor='red', shrink=0.1)
                                               }
                                          }
                                     },
                       'title': u"000651 格力电器-均线交叉",
                       'ylabel': u"价格",
                       'xlabel': u"日期",
                       'legend': u'best'}
        app.fig_output(**layout_dict)
    draw_cross_annotate(df_stockload.copy(deep=True))  # 均线交叉提示

    未完待续...欢迎一起学习交流 

    展开全文
  • #Python高阶# && #数据处理# #数据库# ------主题目录------- 1 数据处理篇【含数据库、爬虫相关】:提取搭建系统过程中,出现的各种数据处理场景,讲解对应的解决方法。主题内容如下: 【1-1 除权与复权...

    学习路线说明

    在这里插入图片描述
    量化交易是一个多技术综合的项目,以下是我们为读者打造的学习进阶路线!!!
    在这里插入图片描述

    书籍

    购书读者赠送股票量化分析工具v1.0版。工具由书中知识点组合而成,实现了包括选股、行情、回测三个功能。额外使用wxPython封装一层GUI便于操作。 目的是为了帮助读者再建立一座从书本知识到实战应用之间的“桥梁”。
    《Python股票量化交易从入门到实践》随书赠送“回测框架”的使用帮助

    视频课程

    关于随书赠送的回测工具,有不少读者在交流群中,咨询如何去二次修改这部分源码,来辅助自己做股票量化分析。因此我和异步社区推出了课程**《理性投资!2天入门量化思维炒股!定制自己的股票分析工具》**为读者捋一捋这个工具,同时也能完备书籍的知识点。

    这个视频课程有一个大福利——我升级了回测工具的代码,目前版本号为v2.0。

    相比于随书赠送的回测工具V1.0版本,除了增加了功能外,还对代码结构做了很大的优化,便于读者们更好地二次更改!

    理性投资!2天入门量化思维炒股!定制自己的股票分析工具-使用帮助

    知识星球

    学习完书籍《Python股票量化交易从入门到实践》我们再次升级学习的内容,可加入知识星球《玩转股票量化交易》持续进阶量化交易!!!

    在星球中我们会深入分享包括Python、爬虫、数据分析、可视化、人工智能、股票策略等各种与股票量化交易相关的内容! 也会逐步更新股票量化分析工具版本。

    目的只有一个:搭建属于自己量化交易系统!

    点击:QTYX最新版本使用指南[文字版]

    点击:QTYX最新版本使用指南[视频版]

    点击: QTYX历史版本更新说明

    运行程序前,可参照以下两篇使用说明 部署 Python 开发环境
    《Python股票量化交易从入门到实践》随书赠送“回测框架”的使用帮助
    理性投资!2天入门量化思维炒股!定制自己的股票分析工具-使用帮助

    新手读者的Python及第三方库版本建议和以下保持一致。
    Python3.7
    wxpython 4.0.4
    mpl_finance 0.10.0(弃用)
    mplfinance 0.12.7a10
    TA-Lib 0.4.17
    numpy 1.15.1
    pandas 0.23.4
    pandas-datareader 0.7.0
    matplotlib 3.1.1
    tushare 1.2.51
    baostock 0.8.8
    statsmodels 0.9.0
    pyecharts 1.7.0
    backtrader 1.9.74.123
    backtrader-plotting 1.1.0

    本星球主要涵盖以下四大块内容:
    搭建量化系统、数据获取和处理、量化策略和思维、Python高阶、资料分享

    New!!!在这里插入图片描述

    #炒股技术实现# 跟着聪明资金做交易!北上资金每天操作哪些股票一目了然
    在这里插入图片描述

    数据获取和处理

    【含数据库、爬虫相关】:提取搭建系统过程中,出现的各种数据处理场景,讲解对应的解决方法。
    主题内容如下:
    【1-1 除权与复权走势的对比】
    【1-2 解决warning:A value is trying to be set on a copy of a slice from a DataFrame】
    【1-3 difference方法找出不重复的Dataframe】
    【1-4 使用pd.merge方法合并两份行情数据】
    【1-5 sort_values()对DataFrame数据排列】
    【1-6 上市公司财务数据的计算公式】
    【1-7 DataFrame.to_sql对比pd.concat效果】 #数据库#
    【1-8 DataFrame列排序后用insert移动至首位】
    【1-9 DataFrame分组与聚合方法groupby对比板块数据】
    【1-10 DataFrame数据存入SQLite中重复记录的处理】 #数据库#
    【1-11 baostock历史A股K线数据接口“换手率”类型转换注意事项】
    【1-12 爬虫取东方财富网上市公司公告数据的框架-附代码】 #爬虫
    在这里插入图片描述
    【1-13 爬虫取东方财富网股票每日实时行情数据的框架-附代码】#爬虫#
    在这里插入图片描述

    【1-14 爬虫取天天基金网基金持仓前10股票名单的框架-附代码】#爬虫#
    在这里插入图片描述
    【1-15 一个巧方法过滤掉A股休市日期-得到历史实际交易日期】
    【1-16 matplotlib可视化中使用交互式后端扩展光标功能】
    在这里插入图片描述
    【1-17 解锁Pycharm关于查看数据库的一个小功能】#数据库#
    【1-18 小散量化炒股记|只花几秒钟!多任务爬虫获取A股每日实时行情数据-附代码】#爬虫#
    在这里插入图片描述
    在这里插入图片描述
    【1-19 玩转这个网易财经URL,就能爬虫直接下载csv格式股票历史行情数据】#爬虫#
    【1-20 又添一个数据源-多线程从网易财经获取A股历史行情数据-附代码】#爬虫#
    在这里插入图片描述
    【1-21 SQLite数据库创建索引来加快搜索效率】#数据库#
    在这里插入图片描述
    在这里插入图片描述
    【1-22 股票数据存入SQLite时要不要分表?该如何分表】#数据库#
    【1-23股价参差不齐,先标准化处理后就能直接对比】
    【1-24 股票数据分表存入SQLite,该如何合并查询?】#数据库#
    【1-25 星球年度汇总-爬虫获取股票数据A—概览篇】#爬虫#
    【1-26 星球年度汇总-爬虫获取基金持仓明细(附GUI可拿来就用)】#爬虫#
    在这里插入图片描述
    【1-27 星球年度汇总-基金持仓前十股票分析工具-更新1】#数据科学获取#
    点击跳转查阅详细内容

    【1-28 星球年度汇总-多线程快速获取A股全市场历史行情数据-附GUI来拿就用】#数据科学获取#点击跳转查阅详细内容

    【1-29 星球年度汇总-20年四季度基金持仓数据公布了! 分析小工具新功能上线!】#数据科学获取# 点击跳转查阅详细内容
    在这里插入图片描述
    【1-30 星球年度汇总-持续改进中-基金持仓前十股票分析工具升级V0.04版】#数据科学获取# 点击跳转查阅详细内容

    搭建量化系统

    基于wxpython封装一层GUI,记录一步步搭建出自己的量化交易系统的过程。
    主题内容如下:
    【2-1 搭建系统|比Matplotlib更好用的pyecharts打造GUI股票行情分析界面】
    在这里插入图片描述在这里插入图片描述

    【2-2 搭建系统|wxPython布局管理实现多只股票走势对比界面-附代码】
    【2-3 搭建系统|想把聚宽本地化吗?一起来创建GUI版的自定义量化回测平台-附源码】
    【2-4 搭建系统|行情软件可没有!多股票投资组合用的GUI分析界面-附代码】
    在这里插入图片描述
    【2-5 搭建系统|多维度下不同股票|周期|除权|复权走势对比界面-附代码】
    在这里插入图片描述
    【2-6 搭建系统|在线改策略很便捷!试一试本地GUI回测平台动态改策略-附代码】
    【2-7 搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具-附源码】
    【2-8 搭建系统|听说backtrader很不错!把它集成到本地GUI回测平台中!-附代码】
    【2-9 搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能会更好用-附源码】
    【2-10 搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换-附代码】
    【2-11 搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股-附代码】
    【2-12 搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表?-附代码】
    【2-13 搭建系统|证券板块连续暴涨!选股工具先按行业分类再选个股有多重要!-附代码】
    【2-14 搭建系统|升级选股工具,多板块个股同时提取!个股行情走势存入数据库-附代码】
    【2-15 代码分支|选股工具定制-tushare org 版本选股数据&自动保存结果-附代码】
    【2-16 搭建系统|量化小工具升级菜单架构,集成选股-回测-行情三大功能为一体-附代码】
    在这里插入图片描述
    【2-17 搭建系统|升级选股工具,使用同花顺F10查看上市公司基本概况!-附代码】在这里插入图片描述
    【2-18 搭建系统|本地量化工具集成开源量化框架backtrader操作指南!-附代码】
    在这里插入图片描述
    【2-19 搭建系统|继承backtrader的本地量化回测平台如何玩转多股轮动策略!-附代码】
    在这里插入图片描述
    在这里插入图片描述
    【2-20 知识星球发福利! 视频课程《2天学会定制自己的股票量化分析工具》】点击查看详细内容
    【2-21 随书赠送的股票量化分析工具—出升级版啦!功能抢先看】点击查看详细内容
    【2-22 股票量化分析工具V2.0视频已更新 代码已上传!-附代码】点击查看详细内容
    【2-23 通达信全市场数据导入指南—基于股票量化分析工具V2.0!-附代码】点击查看详细内容

    Python高阶篇

    Python高阶篇:搭建系统中所涉及到的Python语法方面的高级应用。
    主题内容如下:
    【3-1 @property装饰器把一个方法变成属性调用】
    【3-2 super函数解决多重继承重复调用】
    【3-3 几种下划线修饰变量的命名含义】
    【3-4 培养Python编码的规范:PEP-8】
    【3-5 @abstractmethod装饰器创建一个抽象函数】
    【3-6 如何用Pycharm对文件内容比较】
    在这里插入图片描述
    【3-7 变量__all__限定被import的符号】
    【3-8 setattr()/getattr()在量化回测系统配置参数传递中的应用】
    【3-9 Python变量的作用域及何时使用global关键字】
    【3-10 Python多线程共享全局资源的解决方案及影响面分析】

    量化策略和思维篇

    【含量化思维、量化回测、远程下单、炒股思维、策略制定等】:修炼股票量化交易的内在思维的同时,升级自己的量化技术手段。
    主题内容如下:
    #量化回测# 【4-1 矢量化与事件驱动量化回测框架优劣对比】
    #量化回测# 【4-2 回测阶段在收盘价上考虑滑点进行交易】
    #量化回测# 【4-3 量化策略中引入财务报表时避免未来函数】
    #量化回测# 【4-4 Python开源量化回测框架有哪些?】
    #远程下单# 【4-5 关于SMTP邮箱远程提醒下单的解决方案】
    #炒股思维# 【4-6 趋势判断才是散户把握获利的有效方法】
    #量化回测# 【4-7 什么是最大回撤幅度和最大回撤时期】
    #量化回测# 【4-8 量化回测中长期策略不能忽略与基准比较】
    #炒股思维# 【4-9 揭秘股市中所谓的主力到底是谁?】
    #炒股思维# 【4-10 股市中的超级账户是如何碾压你我的?】
    #量化思维# 【4-11 基于技术分析的策略到底怎么用才有效?】
    #炒股思维# 【4-12 股票交易中对于市场牛熊的判断是最为关键的!】
    #量化回测# 【4-13 如何利用聚宽平台回测交易策略】
    #量化思维# 【4-14 量化策略中常用的几种退出信号】
    #远程下单# 【4-15 模拟同花顺交易客户端实现自动交易】
    #量化思维# 【4-16 从“红几月”之类的说法谈日历效应的策略】
    #量化思维# 【4-17 资本资产定价模型与三因子模型的区别】
    #炒股思维# 【4-18 分享一个炒股书上绝不会说的技术分析本质】
    #炒股思维# 【4-19 分享一本经典的《手把手教你读财报》电子书】
    #量化思维# 【4-20 小白初入股市到进阶量化交易之路线图】
    #量化思维# 【4-21 大师级的扑克冠军分享宝贵的量化经验】
    #炒股思维# 【4-22 从股东高管持股数据侧面了解上市公司的未来】
    #炒股思维 【4-23 记7月16日A股市场暴跌走势后的几点心得体会】
    #量化思维# 【4-24 我来告诉你行情软件的资金流入流出数据是有多鸡肋】
    #炒股思维# 【4-25 小散量化炒股记|一文揭秘主力、散户资金流入流出的来龙去脉-附代码】
    在这里插入图片描述
    #炒股思维# 【4-26 一起来创建一份A股上市公司细分行业龙头数据-持续更新】
    #炒股思维# 【4-27 创业板业绩披露新规之后,梳理下业绩发布时间节点】
    #量化思维# 【4-28 小散量化炒股记|Python数据透视表和热力图跟踪行业板块热点切换-附代码】
    在这里插入图片描述
    在这里插入图片描述
    #炒股思维# 【4-29 股票分析三步曲-逻辑假设|证据收集|合理论证】
    #量化思维# 【4-30 小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理】
    在这里插入图片描述#量化思维# 【4-31 时间序列分解模型观察趋势的变化-核心思想】
    #炒股思维# 【4-32 买入股票后会片面收集持仓有利信息!是心理防御机制在作用!】
    #量化思维# 【4-33 小散量化炒股记|股价如波浪起伏,教你用量化识别波段的极值点-附代码】
    在这里插入图片描述
    #量化回测# 【4-34 如何让Backtrader的Plotting功能与量化小工具共存】
    在这里插入图片描述
    #量化回测# 【4-35 Backtrader可视化回测图的组成及扩展指标子图的方法-附代码】
    在这里插入图片描述
    #量化回测# 【4-36 Backtrader可视化回测图扩展回撤和最大回撤指标-附代码】
    在这里插入图片描述
    #量化回测# 【4-37 Backtrader创建订单时市价单/限价单/止损单/止损限价单的选择和特点】
    #量化回测# 【4-38 小散量化炒股记|说某个指标能赚钱?不盲从,先量化回测一番!-附代码】
    在这里插入图片描述
    #量化思维# 【4-39 分享《第 2 届金融科技图书专家顾问论坛》上关于量化场景片段】
    #炒股思维# 【4-40 谈谈网格策略的原理、设计过程及应用场景】
    在这里插入图片描述
    #量化思维# 【4-41 小散量化炒股记|震荡行情如何应对?用网格策略再小的波动也能覆盖-附代码】

    #量化回测# 【4-42 详解Backtrader框架关于TradeAnalyzer交易评价指标的含义】
    #炒股思维# 【4-43 杜邦财务分析体系的本质精髓及对选股的帮助】
    #量化思维# 【4-44 小散量化炒股记|还在用通用指标参数?试试自适应的动态参数优化-附代码】
    在这里插入图片描述
    #量化回测# 【4-45 如何用Backtrader呈现股价多周期的走势图】
    在这里插入图片描述
    #量化回测# 【4-46 如何用Backtrader实现自定义股票技术指标】
    #量化回测# 【4-47 Backtrader自定义指标之绘制MACD柱状图-附代码】
    在这里插入图片描述

    资料分享篇

    【5-1 分享电子书《利用Python进行数据分析》】
    【5-2 分享电子书《151+Trading+Strategies》】
    【5-3 分享某券商的投资策略报告《策略·行业比较:“好公司”与“便宜的好公司”,谁更胜一筹?》】
    【5-4 分享某券商的投资策略报告《专题:如何挖掘盈利强、可持续、估值合理的好公司?》】
    【5-5 分享某券商的投资策略报告《专题:不同市场环境下,PB-ROE的再讨论,附财务选股模型最新结果》】
    【5-6 分享国泰君安-数量化研究系列-《市场情绪指数的建立及应用》】
    【5-7 分享国泰君安-数量化研究系列-《基于动量反转策略的强势行业选取》】
    【5-8 分享国泰君安-数量化研究系列-《多因子选股模型之因子分析与筛选》】
    【5-9 分享国泰君安-数量化研究系列-《发现价格走势规律之基于MACD分段研究及应用》】
    【5-8 分享国泰君安-数量化研究系列-《多因子选股模型之因子分析与筛选》】
    【5-9 分享国泰君安-数量化研究系列-《发现价格走势规律之基于MACD分段研究及应用》】
    【5-10 分享国泰君安-数量化研究系列-《在众人恐惧时贪婪,在众人贪婪时恐惧》】
    【5-11 分享国泰君安-数量化研究系列-《寻找牛、熊股基本特征_基于财务、估值角度》】
    【5-12 分享国泰君安-数量化研究系列-《行业联动与行业轮动市场观察》】
    【5-13 分享国泰君安-数量化研究系列-《风格投资:A 股周期非周期风格轮动研究》】
    【5-14 分享国泰君安-数量化研究系列-《KELLY公式在行业配置中的应用》】
    【5-15 分享国泰君安-数量化研究系列-《在冷门股中寻找投资机会》】
    【5-16 分享国泰君安-数量化研究系列-《年线与股票价格走势关系分析》】
    【5-17 分享国泰君安-数量化研究系列-《探究交易公开信息之市场观察篇》】

    欢迎大家加入【知识星球】!
    在这里插入图片描述

    作者简介

    1-畅销书《Python股票量化交易从入门到实践》作者
    在这里插入图片描述
    2-日常运营公众号《元宵大师带你用Python量化交易

    展开全文
  • 目录第1章 理解Python股票量化交易1.1 多角度分析量化交易1.1.1 量化交易的本质1.1.2 量化交易的发展1.1.3 量化交易的优势1.1.4 量化交易的过程1.2 多角度分析股票价格1.2.1 从股票的起源看本质1.2.2 如何衡量股票...
  • python环境,:Anaconda pandas 、 numpy 、 ta-lib、pandas-datareader、tushare、matplotlib、、mpl-finance、baostock pycharm community edition 生成器 yield 装饰器 timeit 2.9.1 多进程和多线程:GIL...
  • Python股票量化交易入门 学习并记录《Python股票量化交易从入门到实践》,原书贴近实战,许多踩过的坑都有解决方案,个人觉得这是一本比较合适的快速入门书籍。 文章目录Python股票量化交易入门前言一、Python基础...
  • 提供给大家一种“量化交易”为我所用的思路。大家可以以此为基础去搭建适合自己的系统! 回测框架效果展示 回测框架的功能,其实是我自己设定了一个炒股的场景。 我们根据上市公司的一些财务指标,去过滤出我们心仪...
  • 1.厘清概念,夯实技能 n深入浅出揭示量化交易的本质和源起,手把手教你部署Python环境,跟随代码示例掌握基本的编程语法和模块调用。 n2.立足A股,贴近实战 n选择A股市场作为标的,囊括多渠道数据获取、技术指标的...
  • 夫血肉之身,尚然有数;义理之身,岂不能格天。太甲曰:天作孽,犹可违;自作孽,不可活。诗云:永言配命,自求多福。孔先生算汝不登科第,不生子者,此天作之...前面9篇博文对量化交易的各种图形绘制以及计算公式已经.
  • 通常DEA的窗口周期为9日,具体公式如下: DIF(差离值)=EMA1-EMA2 DEA(差离平均值)=前一日DEA8/10+今日DIF2/10 替换成python代码之后,如下所示: DIF=EMA1-EMA2 DEA=DIF.ewm(9,adjust=False).mean() (3)最后,...
  • 先从最基础的说起好了首先是工具(一) 软件推荐:python常用的量化软件有python、matlab、java、C++。从开发难度而言python和matlab都比较容易,java和C++麻烦一些。从运行速度而言,C++、java要快于matlab和python。...
  • 在众多的市场股票交易软件中,每个界面并不仅仅只显示一个指标图,往往股票交易软件会将所有指标图并列放置达到对比的效果,这样的好处是,能更加直观的看到各种指标,同时结合各种指标进行分析。就像前面博文一样,...
  • 目录实时股票数据每笔交易详情数据对应的日MACD图 实时股票数据 每笔交易详情数据 对应的日MACD图
  • 本程序是模拟手动的方式进行同花顺客户端登录,支持下单和撤单交易,采用的方式是纯粹的键盘输入方式操作,亲测可用拒绝忽悠!
  • python量化交易.pdf

    2021-11-07 11:03:25
    python量化交易教程,从Python入门到量化交易策略,量化交易师的python日记,股票量化交易,alpha多因子模型,宏观研究,布林带,均线系统,cci顺势指标探析,EMV技术指标的构建及应用,FPC指标选股,动量模型,基于...
  • python股票量化分析

    2020-12-20 17:44:37
    使用tushare包的get_k_data()函数来获取股票交易数据,具体可以通过命令help(ts.get_k_data)了解函数和参数含义。 import pandas as pd import numpy as np import matplotlib.pyplot as plt #正常显示画图时出现的...
  • stock 简易的股票量化交易系统
  • 而KDJ指标最早是由芝加哥期货交易商George Lane提出的KD指标,该指标还被称为随机震荡指标。与威廉指数不同的是,该指标在收盘价与最高价和最低价的相对位置的比值上,融合了移动平均的思想,用更多的信息来捕捉...
  • 其实在众多的股票交易软件中,并不会主动给我们标记K线形态数据,而且K线形态这么多,哪怕程序员记下来恐怕也无能为力。所以,我们需要使用pyqt5设计界面给我们标记K线形态,并提示使用者那种K线预示涨,哪些K线预示...
  • 股票python量化交易001-量化交易科普

    千次阅读 2022-05-09 16:39:14
    标准的概念:量化交易是利用量化交易策略(计算机的强大运算能力,用数学模型来模仿人的思维做出决策),(通过数据建模、统计学分析、程序设计等工具),从股票、债券、期货的历史数据分析中得到(大概率下获利)的...
  • 股票交易中,我们最长使用的图其实是K线图,比如什么十字星,什么乌鸦等都是比较常用的参考指标,这些形态在我们判断市场运行趋势时,起到了非常重要的作用。所以,本篇将详细讲解TA-Lib库识别K线的各种形态。 ...
  • Python股票交易量化实例

    千次阅读 2021-03-08 21:01:17
    shift把除索引的部分往下移一位 #策略实践 #每月1月1日买入1手股票,每年最后一个交易日卖出所有股票,收益如何? df=df['2015-03':'2021-3'] df_momthlt=df.resample('BMS').first() #business month start df_...
  • 在前面10篇博文中,我们详细介绍了各种股票图形的绘制以及股票的预测算法,但是有一点非常的不方便,就是每次查看某个股票的数据,我们还需要将代码替换或者更改,这样势必造成额外的时间浪费,那么怎么办呢?...
  • 博文《Python量化交易策略及回测系统》详细的介绍了Python量化交易策略编写的全过程,包括: 1、数据的获取 2、量化交易策略回测系统的编写 3、量化交易策略的设计 4、使用量化交易策略及回测系统对多个股票进行回测...
  • python实现量化分析,交易系统,自动化运维,动态加载策略
  • 目录前言一、概念二、tkinter的使用1、模块的导入2、窗口和文本框的创建3、处理函数的定义4、按钮的创建5、运行结果三、实战案例——根据界面输入绘制...如果有对于股票数据分析或者量化交易经典策略–双均线策略不熟
  • python大作业股票量化回测源代码股票量化回测Python解决方案。 类的划分 数据读取类:ReadFile 所在文件:fileRW.py 读入pickle类型的原始数据。 单只股票信息管理类:StockInfo 所在文件:stockInfo.py 给定股票...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,294
精华内容 2,517
关键字:

python股票量化交易