Python 机器学习之 SVM 预测买卖

Python入门简单策略 sklearn 机器学习库的使用

回测系统自带的库有

numpy pandas TA-Lib scipy statsmodels sklearn cvxopt hmmlearn pykalman arch matplotlib

实盘需要在托管者所在机器安装策略需要的库

实现代码

from sklearn import svm

import numpy as np

def main():

preTime = 0

n = 0

success = 0

predict = None

pTime = None

marketPosition = 0

initAccount = exchange.GetAccount()

Log("Running...")

while True:

r = exchange.GetRecords()

if len(r)

continue

bar = r[len(r)-1]

if bar.Time > preTime:

preTime = bar.Time

if pTime is not None and r[len(r)-2].Time == pTime:

diff = r[len(r)-2].Close - r[len(r)-3].Close

if diff > SpreadVal:

success += 1 if predict == 0 else 0

elif diff

success += 1 if predict == 1 else 0

else:

success += 1 if predict == 2 else 0

pTime = None

LogStatus("预测次数", n, "成功次数", success, "准确率:", '%.3f %%' % round(float(success) * 100 / n, 2))

else:

Sleep(1000)

continue

inputs_X, output_Y = [], []

sets = [None, None, None]

for i in xrange(1, len(r)-2, 1):

inputs_X.append([r[i].Open, r[i].Close])

Y = 0

diff = r[i+1].Close - r[i].Close

if diff > SpreadVal:

Y = 0

sets[0] = True

elif diff

Y = 1

sets[1] = True

else:

Y = 2

sets[2] = True

output_Y.append(Y)

if None in sets:

Log("样本不足, 无法预测 ...")

continue

n += 1

clf = svm.LinearSVC()

clf.fit(inputs_X, output_Y)

predict = clf.predict(np.array([bar.Open, bar.Close]).reshape((1, -1)))

pTime = bar.Time

Log("预测当前Bar结束:", bar.Time, ['涨', '跌', '横'][predict])

if marketPosition == 0:

if predict == 0:

exchange.Buy(initAccount.Balance/2)

marketPosition = 1

elif predict == 1:

exchange.Sell(initAccount.Stocks/2)

marketPosition = -1

else:

nowAccount = exchange.GetAccount()

if marketPosition > 0 and predict != 0:

exchange.Sell(nowAccount.Stocks - initAccount.Stocks)

nowAccount = exchange.GetAccount()

marketPosition = 0

elif marketPosition

while True:

dif = initAccount.Stocks - nowAccount.Stocks

if dif

break

ticker = exchange.GetTicker()

exchange.Buy(ticker.Sell + (ticker.Sell-ticker.Buy)*2, dif)

while True:

Sleep(1000)

orders = exchange.GetOrders()

for order in orders:

exchange.CancelOrder(order.Id)

if len(orders) == 0:

break

nowAccount = exchange.GetAccount()

marketPosition = 0

if marketPosition == 0:

LogProfit(_N(nowAccount.Balance - initAccount.Balance, 4), nowAccount)

python机器交易_[原创]Python 机器学习之 SVM 预测买卖 -- 基于 BotVS 量化平台相关推荐

  1. python机器交易_全解用 Python 建立能源市场算法交易的机器学习框架

    原标题:全解用 Python 建立能源市场算法交易的机器学习框架 编译:数据派 - 笪洁琼 ,冯羽 , 英文:SIMON KUTTRUF 前言 人工智能的新突破每天都成为头条新闻.在金融领域,机器学习 ...

  2. python自动化交易_用Python寫自動交易程式的入門平台: Quantopian

    很多會寫程式的人開始踏入投資或金融市場後,都會有種想要寫程式來自動進行交易的衝動,但大多是不知道從何入門而不了了之.最近有個新平台Quantopian大大簡化了開發交易策略的難度.Quantopian ...

  3. 很燃基于掘金量化平台的《Python量化交易实战》新书介

    原 很燃!基于掘金量化平台的<Python量化交易实战>新书简介 内容简介: 在目前不断变化.蓬勃发展的中国资本市场,量化投资作为新兴的投资方法,引来越来越多的关注,使用量化投资技术的证券 ...

  4. 很燃基于掘金量化平台的《Python化易战新书介

    原 很燃!基于掘金量化平台的<Python量化交易实战>新书简介 内容简介: 在目前不断变化.蓬勃发展的中国资本市场,量化投资作为新兴的投资方法,引来越来越多的关注,使用量化投资技术的证券 ...

  5. python vector 初始化_从零开始搭建机器学习算法框架(python)--计算框架

    介绍 今天开始一个新的系列,这个系列的目标是用python在不使用任何第三方库的情况下去实现各类机器学习或者深度学习的算法.之所以会有这种想法是因为每当我想提高编程技巧的时候,我总希望能够做一些简单又 ...

  6. python 监控内存_使用python写一个监控不同机器的使用内存情况并使用flask出图

    使用python写一个监控不同机器的使用内存情况并使用flask出图 基于是自己想要扩展前一篇博客的内容所以直接就把代码传上去了能做出的效果是可以像zabbix那样监控多台主机上的使用内存情况: 出来 ...

  7. python统计套利_清华编程高手尹成带你基于算法实践python量化交易

    清华编程高手尹成带你基于算法实践python量化交易 量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策 ...

  8. python获取股指_用Python读取csv文件中的沪深300指数历史交易数据

    保存路径:D:\python\用Python读取csv文件中的沪深300指数历史交易数据 程序名称:readcsvhs300.py: 数据名称:沪深300指数历史交易数据.csv: 开发环境:Win7 ...

  9. 不属于python第三方库_在 Python 语言中,不属于机器学习领域第三方库的是______。???????????????????????????????????????...

    在 Python 语言中,不属于机器学习领域第三方库的是______.??????????????????????????????????????? 答:Arcade 图的遍历方法有两种:深度优先搜索 ...

最新文章

  1. 不敢相信?System.currentTimeMillis()存在性能问题
  2. NASM汇编helloworld图解
  3. 听说你想去大厂看妹子,带你看看美团后端开发实习岗详细面经
  4. 第七课 ActionScript 3语言进阶一
  5. 学习笔记(38):Python实战编程-窗体显示
  6. mysql 批量添加字段前缀_MySQL中批量前缀表的sql语句
  7. 五年级信息技术上册教案计算机主机探秘,第1课信息与信息技术探秘教案
  8. python3写的一个检测远程服务器端口脚本
  9. level2行情接口十档行情快照如何去运用?
  10. js打开新窗口并最大化
  11. php 实现游戏开发
  12. Aifred、Wox免费开源的效率启动器
  13. 短视频平台原创检测规则 伪原创制作
  14. OO包设计原则遵循度自动分析检查工具JDM简介(原创)
  15. 深度学习小白装机-记录一下
  16. python xlrd模块_新手菜鸟Linux学习之路
  17. Solidity代码规范(官方建议)
  18. 干扰网络信号的app_手机信号屏蔽软件?告诉你一个「真实有效」的屏蔽信号方法...
  19. 如何录制微课?简单,手把手教你:教学微课视频如何录制
  20. 钱林波:国土空间综合交通体系规划的新要求与新内涵

热门文章

  1. Android P首发版
  2. 超级账本fabric基础
  3. String类-综合训练
  4. 九度:1013开门人
  5. 软件工程——数据流图练习
  6. “牌面”养成记8:打好牌,从做好这60件事开始[上]
  7. 中移动TD智能机或将厚积薄发
  8. Deep learning with JavaScript:
  9. pystaller打包exe心酸史
  10. win10第一次安装数据库失败解决方案