量化回测

以下都是根据目前所能自己理解的,去编写的简易文档!

第一部分 金融市场

  • 金融市场:资金融通的交换场所!

      按交换的标的物划分:
          货币市场、资本市场;外汇市场、黄金市场、保险市场
    
      狭义的金融市场:(货币市场、资本市场)        
          期限在一年或者一年以内的金融资产 - 货币市场
          期限在一年以上的金融资产 - 资本市场
          银行中长期存贷款市场
          有价证券市场
              有价证券?- 权利与义务
              股票 - 公司的所有权
              债券 - 债权
    
  • 狭义的金融市场

      1 按交易程序划分
          一级市场(发行市场)
              发行人和投资人之间的交易
              投资人:有钱人、专业的投资机构PE、VC
              这个“级”指的是一个企业股份的发行次序和发行时间。
              路演 -
              100万、200万 个别有钱人 天使投资(angel investment)
              VC风险投资(venture capital)
              PE私募(private equity)
              IPO(首次公开募股)
          二级市场(流通市场)
              投资人与投资人之间的交易
              投资人:普通散户、投资机构
          天使投资、风险投资、私募 - 美国
              私募 传统、老牌、大型企业
                  新兴科技创新企业
                      天使投资、风险投资
      2 参与主体
          证券交易所
              上海
              深圳
          证券公司
              开户
              欧美 投行-投资银行
              中国、日本-证券公司-券商
              英国-商人银行
      3 股票和债券的区别
          有价证券:
              有价格的权利与义务的凭证
              股票:公司所有权
                  按股息获益
              债券:债权
                  按利息获益
    
  • 股票基础知识

      1 股票:是股份公司签发的证明股东所持股份的凭证,代表了股东对股份公司净资产的所有权。
      2 股票按照股东权利的分类
          普通股
          #优先股
              #香港
              #国外
      3 股票按照上市地区的分类
          在境内上市
              A股  人民币普通股票
                  投资人:境内
                  人民币进行交易
              B股  人民币特种股票
                  投资人:境外
                  外币进行交易
          在境外上市
              H股 - 香港
              N股 - 纽约
              S股 - 新加坡
      4 股票按照股票业绩的分类
          ST股(special treatment)
              连续亏损两年的股票 ST
              连续亏损三年的股票 *ST
          垃圾股
    
          蓝筹股
              赌场 筹码
              蓝色
      5 人民币普通股票
          股票 - 有价证券
              A股
                  1)电子记账
                  2)T+1制度
                      T - trading
                      不能进行高频交易
                     T+0制度
                      高频交易
                  3)涨跌停限制
                      10%停牌
      6 股票交易的常识
          1 股票代码
          2 股票价格
              股票初始发行价格 = 市盈率还原值×40%+股息还原率×20%+每股净值×20%+预计当年股息与一年期存款利率还原值×20%
              股票流通价格 = 投资人之间的成交价格
          3 股票的交易时间和过程
              (一)集合竞价阶段:9:15 — 9:25
                  9:15 — 9:19可以申报和撤单
                  9:20 — 9:25 可以申报,不可以撤单
               (二)连续竞价阶段
                  12.49 买入1000手
                  12.48 68手
                  12.49 1000 - 68
                  成交价格 - 12.49
          4 交易费用
      7 股票的划分
          1 中国股票市场的层次划分
              主板
                  上海证券交易所
                  深圳证券交易所
              中小板
                  深圳证券交易所
              创业板
                  深圳证券交易所
          2 股票的不同性质划分
    
  • 3 股票数据
    绘制K线图

参数需求:candlestick_ochl(axes, day_k.values[:30], width=0.4, colorup="r", colordown="g")
time, open, close, high, low

#查看帮助
>>> help(candlestick_ochl)
Help on function candlestick_ochl in module mpl_finance:

candlestick_ochl(ax, quotes, width=0.2, colorup='k', colordown='r', alpha=1.0)
    Plot the time, open, close, high, low as a vertical line ranging
    from low to high.  Use a rectangular bar to represent the
    open-close span.  If close >= open, use colorup to color the bar,
    otherwise use colordown

    Parameters
    ----------
    ax : `Axes`
        an Axes instance to plot to
    quotes : sequence of (time, open, close, high, low, ...) sequences
        As long as the first 5 elements are these values,
        the record can be as long as you want (e.g., it may store volume).

        time must be in float days format - see date2num

    width : float
        fraction of a day for the rectangle width
    colorup : color
        the color of the rectangle where close >= open
    colordown : color
         the color of the rectangle where close <  open
    alpha : float
        the rectangle alpha level

    Returns
    -------
    ret : tuple
        returns (lines, patches) where lines is a list of lines
        added and patches is a list of the rectangle patches added

4 周K线图
开盘价:周一的开盘价
收盘价:周五的收盘价
最高价:这一周的最高价
最低价:这一周的最低价

量化回测_第1张图片
阳线与阴线

量化回测_第2张图片
周k线图

K线图绘制需要使用mpl_finance框架
图形生成使用的是Jupyter Notebook(便于画图与数据展示)

第二部分 quantOS

量化回测_第3张图片
业务架构

DataCore

项目首页 下载 文档

简介

DataCore是一款企业级开源量化数据系统,通过标准化接口提供高速实时行情、历史行情和参考数据等核心服务,覆盖股票、商品期货、股指期货、国债期货等品种,适配CTP、万得、聚源、Tushare等各类数据。

JAQS

项目首页 下载 文档 仿真交易

简介

JAQS是一个开源量化策略研究平台,由交易专家和金融技术专家共同设计,实现了自动化信号研究、高效策略开发和多维度回测分析,支持Alpha、CTA、套利等策略的实现。JAQS从实战而来,经实盘检验,本地化开发部署,保障策略安全。

TradeSim

项目首页 下载 文档 仿真交易

简介

TradeSim是一个在线仿真交易平台(未开源),提供账户管理、在线交易、模拟成交等服务,支持股票、期货等品种的交易。 TradeSim中的交易系统模块支持多账户管理、多通道交易、实时风控,提供包括VWAP、TWAP、配对交易、篮子下单在内的算法交易,是一款企业级应用。

第三部分 策略回测

#代码
#初始化
def initialize(context):
    # 股票名:兔宝宝
    g.security = '002043.XSHE'
#每天循环
def handle_data(context, data):
    # 取得最近日收盘价
    last_price = data[g.security].close
    # 取得过去二十天的平均价格
    average_price = data[g.security].mavg(20, 'close')
    # 取得当前的现金
    cash = context.portfolio.cash
    # 如果昨日收盘价高出过去二十日平均价, 则买入,否则卖出。
    if last_price > average_price:
        # 用当前所有资金买入股票
        order_value(g.security, cash)
    elif last_price < average_price:
        # 将股票仓位调整到0,即全卖出
        order_target(g.security, 0)
量化回测_第4张图片
简易策略回测
  • 如何根据回测结果评价策略好坏?很初级地讲,有三:

  • 盈利能力:策略收益与年化收益高,则说明盈利能力强。盈利能力不行说啥都没用。

  • 盈利稳定性:最大回撤要低。最大回撤是指最大亏损幅度,50%则意味着历史上看最大亏损率为50%。

  • 回测可靠性:交易次数要多。交易次数越多意味着经历了越多次的检验,回测的结果也越可靠。

  • 这个策略回撤大,交易次数少,只交易一只股票,并不靠谱。但是结构简单适合新手入门理解整个流程。

第四部分 量化投资

这方面目前自己通过网络上的了解,有基本了解!

量化投资定义:
量化投资其实就是定量投资,是通过分析一定的数据,在有合理逻辑的支撑下,运用某种策略所进行的具有胜率优势的投资。

  • 仓位是指投资人实有投资和实际投资资金的比例。
  • 量化投资需要合适的数据,并且合乎逻辑!
  • 貌似目前量化投资在国内发展并不是很好,准确来说是处于起步阶段!所以说机会很多!

个人小结;

  • quantOS量化回测平台,获取历史数据与实时行情来进行数据分析,而后进行回测并且分析,后来又进行模拟交易,算是有了一个大概的认知吧!

  • 量化回测应该以挑选优质策略、淘汰劣质策略为核心目的。起到为量化策略进入实盘交易提供一定的依据的作用,只是判断量化策略好坏的第一个门槛。

  • 量化回测结果存在很大的劣势:基于市场制度、市场结构、投资者投资水平、科学技术等一系列因素的不断演变,市场的过去不代表未来

  • 对与金融IT方面,个人还是显得措手不及,并且有想法向这方面发展,毕竟我也想分到那么一块小小的“蛋糕”!

  • 需要学习的地方还有很多,不管是里面技术方面还是其他方面!

你可能感兴趣的:(量化回测)