用python做量化投资系列之比特币---盘口高频策略

原创 2017年01月30日 19:58:50

 使用方法:把上一篇的配置基础,写到一个python文件中,文件名保存为 OkcoinSpotAPI,然后把下面的代码,     写到一个新的文件中,保存好,就可以直接运行了

原理:根据盘口买卖量,深度行情挂单量,进行买卖决策。属于高频策略。

注:该策略做过实盘,有回撤。使用的话,建议进一步优化。

        更一步交流,qq:1733505732 

       验证请注明:python ,比特币量化


# -*- coding: utf-8 -*-
"""
Created on Mon Jan 16 17:40:55 2017

@author: yunjinqi

E-mail:yunjinqi@qq.com

Differentiate yourself in the world from anyone else.
"""
########################################################盘口模型
from OkcoinSpotAPI import *
import pandas as pd
import numpy as np
import datetime
import time
######################################################初始数据
#引入初始信息
apikey = '9b93e53a-e803-4883-b8fc-64af2f3ccc57'
secretkey = '14284B3C0B9CF0F932E83888388855C9'
okcoinRESTURL = 'www.okcoin.cn'   #请求注意:国内账号需要 修改为 www.okcoin.cn  
okcoinSpot = OKCoinSpot(okcoinRESTURL,apikey,secretkey)
okcoinFuture = OKCoinFuture(okcoinRESTURL,apikey,secretkey)
#info=eval(okcoinSpot.userinfo())#账户信息
#info
#####################################获取并整理数据
def cut(deep):
    deep['bid_price']=''
    deep['bid_volume']=''
    deep['ask_price']=''
    deep['ask_price']=''
    for i in range(len(deep)):
        deep.ix[i,'bid_price']=deep.ix[i,'bids'][0]
        deep.ix[i,'bid_volume']=deep.ix[i,'bids'][1]
        deep.ix[i,'ask_price']=deep.ix[i,'asks'][0]
        deep.ix[i,'ask_volume']=deep.ix[i,'asks'][1]
    del deep['asks']
    del deep['bids']
    deep['bid_price']=deep['bid_price'].astype('float64')
    deep['bid_volume']=deep['bid_volume'].astype('float64')
    deep['ask_price']=deep['ask_price'].astype('float64')
    deep['ask_price']=deep['ask_price'].astype('float64')
    return deep
def bid_ask_vol_diff(deep):
    bidvol10=deep['bid_volume'][:10]
    askvol10=deep['ask_volume'][-10:]
    diff=bidvol10.sum()-askvol10.sum()
    return diff   #diff>0是入场条件1
def bid_ask_price_diff(deep):
    bidprice10=deep['bid_price'][:10]
    askprice10=deep['ask_price'][-10:]
    bid_diff=bidprice10.max()-bidprice10.min()
    ask_diff=askprice10.max()-askprice10.min()
    diff=bid_diff-ask_diff #小于0是入场条件
    return diff
def bid_ask_bigvol(deep):
    bidvol10=deep['bid_volume'][:10]
    askvol10=deep['ask_volume'][-10:]
    diff=bidvol10.max()>askvol10.max()#大于0是入场条件
    return diff
i=0
while True:
    
    deep=pd.DataFrame(okcoinSpot.depth('btc_cny'))
    deep=cut(deep)
    deep
    if bid_ask_vol_diff(deep)>0 and bid_ask_price_diff(deep)<0 and bid_ask_bigvol(deep)>0:
       price_buy=str(deep['bid_price'][1]+0.01)
       buy=okcoinSpot.trade('btc_cny','buy',price_buy,'0.01')
       
    time.sleep(0.2)
    price_sell=str(deep['bid_price'][1]+0.50)
    sell=okcoinSpot.trade('btc_cny','sell',price_sell,'0.01')
    print(sell)
    i=i+1
    try:
        buyid=str(eval(buy)['order_id'])
        sellid=str(eval(sell)['order_id'])
    except NameError:
        pass
    except KeyError:
        pass
    time.sleep(5)
    try:
       cancel_buy=okcoinSpot.cancelOrder('btc_cny',buyid)
       cance1_sell=okcoinSpot.cancelOrder('btc_cny',sellid)
    except NameError:
        pass
    except KeyError:
        pass
    info_btc_free=eval(eval(okcoinSpot.userinfo())['info']['funds']['free']['btc'])
    info_net=eval(eval(okcoinSpot.userinfo())['info']['funds']['asset']['net'])
    print(i,info_btc_free,info_net)


版权声明:本文为博主原创文章,转载请注明来源

用python做量化投资系列之比特币---双均线系统

原理:均线可能是趋势跟踪方法中最普通,也可能是稳定性最好的一种方法。有时候,越是简单的东西,往往越加有效,越加稳定。双均线系统:采用1分钟历史数据回测(2016年12月到2017年1月9号),用1万元...
  • qq_26948675
  • qq_26948675
  • 2017年01月30日 19:40
  • 9451

用python做量化投资系列之比特币---布林带突破系统

使用方法:把上一篇的配置基础,写到一个python文件中,文件名保存为             OkcoinSpotAPI。然后把下面的代码,写到一个新的文件中,保存好,就可以直接运行了 原理:当价...
  • qq_26948675
  • qq_26948675
  • 2017年01月30日 19:48
  • 1406

获取自己的第一枚比特币

找一个适合自己的工具工欲善其事,必先利器。玩比特币有一个好用的比特币钱包是必须的。比特币钱包有很多种类,比如由不同的运行平台(windows, 安卓等)分类,或者按照轻量级和全节点的分类等。首先个人用...
  • pony_maggie
  • pony_maggie
  • 2017年06月27日 11:38
  • 2394

一个故事告诉你比特币的原理及运作机制

比特币攻击
  • HK_5788
  • HK_5788
  • 2017年01月04日 22:14
  • 3148

比特币基础概念入门 3

挖矿与共识 一、实验介绍 1.1 实验知识点 比特币分发与挖矿双重支付工作量证明 1.2 实验环境 Python 2.7 二、比特币分发与挖矿 作为一种货币,中本聪在设计之初就...
  • oxuzhenyi
  • oxuzhenyi
  • 2017年09月17日 20:27
  • 266

python做量化交易干货分享

http://www.newsmth.NET/nForum/#!article/Python/128763 最近程序化交易很热,量化也是我很感兴趣的一块。 国内量化交易的平台有几家,我个人比较喜欢...
  • ydjcs567
  • ydjcs567
  • 2017年03月09日 11:01
  • 1265

用python做量化投资系列之比特币--初始配置

# -*- coding: utf-8 -*- """ Created on Fri Jan 13 10:36:19 2017 @author: yunjinqi E-mail:yunjinqi@...
  • qq_26948675
  • qq_26948675
  • 2017年01月30日 19:14
  • 2217

高频交易的思路模型简介

转载自:http://www.dataguru.cn/article-5430-1.html 高频交易凭借其巨大的获利空间,已经席卷了欧美金融市场。根据美国的Alpha杂志,2009年2月的Ai...
  • u013524655
  • u013524655
  • 2014年11月08日 16:46
  • 1071

手把手| 用Python代码建个数据实验室,顺利入坑比特币

关于数字加密货币(如:比特币和以太坊)的文章铺天盖地,数百个自诩专家的作者各自发表着他们对比特币未来的猜想。而用来支持他们观点的这些分析中强有力的数据和统计学基础却乏善可陈。 这篇文章的目的是简...
  • qq_41063944
  • qq_41063944
  • 2017年12月12日 15:00
  • 45

用Python预测比特币价格

專 欄 ❈熊本一身白,Python中文社区专栏作者,现居巴黎,不会说法语的金融狗不是好码农。 个人主页: https://www.zhihu.com/people/zhang-ta...
  • BF02jgtRS00XKtCx
  • BF02jgtRS00XKtCx
  • 2017年11月20日 00:00
  • 447
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用python做量化投资系列之比特币---盘口高频策略
举报原因:
原因补充:

(最多只允许输入30个字)