智宝盈贵金属论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

论坛删帖封号标准(新手用户必读)

智宝盈论坛会员违规处理公告中心贴

论坛发帖基本功能使用教程[图文版]

管理员联系反馈论坛事务专用帖

  • 通车了,我没得开,你去了吗
  • 长势还不错
  • 百点长阳 强势反弹
  • 到底是几根?
  • 只上图不说话
...
查看: 1112|回复: 32

[技巧心得] pytorch LSTM 操单判断

[复制链接]
发表于 2018-8-13 20:47:58 | 显示全部楼层 |阅读模式
首先,我们定义好一个LSTM网络,然后给出一段K线,每段K线都有很多个操单动作构成,每个操单动作可以用一个向量表示,这样一段K线就可以形成一个序列,我们将这个序列依次传入LSTM,然后就可以得到与序列等长的输出,每个输出都表示的是一种操单动作,比如买多,沽空之类的,还是一种分类问题,每根K线都属于几种操单动作中的一种。

评分

2

查看全部评分

[发帖际遇]: OngBee 乐于助人,奖励 2 朵 鲜花. 幸运榜 / 衰神榜
 楼主| 发表于 2018-8-13 21:03:55 | 显示全部楼层
# 每根K线就用一个数字表示,每种操单动作也用一个数字表示
k_to_idx = {}
tag_to_idx = {}
for kdata, tag in training_data:
    for kline in kdata:
        if kline not in k_to_idx:
            # 对K线进行编码
            k_to_idx[kline] = len(k_to_idx)
    for label in tag:
        if label not in tag_to_idx:
            # 对操单动作编码
            tag_to_idx[label] = len(tag_to_idx)
回复

使用道具 举报

 楼主| 发表于 2018-8-13 21:08:23 | 显示全部楼层

LSTM(Long Short-Term Memory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。
LSTM 已经在科技领域有了多种应用。基于 LSTM 的系统可以学习翻译语言、控制机器人、图像分析、文档摘要、语音识别图像识别、手写识别、控制聊天机器人、预测疾病、点击率和股票、合成音乐等等任务。
回复

使用道具 举报

 楼主| 发表于 2018-8-13 21:41:35 | 显示全部楼层
用HMM方法去标注操单动作??
黄金日线HMM模型
http://www.zby.in/thread-415540-1-1.html
(出处: 智宝盈贵金属论坛)
回复

使用道具 举报

 楼主| 发表于 2018-9-12 10:43:15 | 显示全部楼层
在序列标注问题中,HMM和CRF是当前比较成熟的技术
回复

使用道具 举报

 楼主| 发表于 2018-9-12 10:55:50 | 显示全部楼层
波浪或分型结构分析是交易技术分析的一项重要的基础技术,包括分型、涨跌标注、结构识别等,其主要算法结构为基于Bi-LSTM-CRF算法体系。。。

双向LSTM(Bi-LSTM)+ CRF ,用CRF是为获取全局最优的输出序列
另外,引用知乎用户“穆文”的回答,从网络结构上来讲,Bi-LSTM-CRF套用的还是CRF这个大框架,只不过把LSTM在每个t时刻在第i个tag上的输出,看作是CRF特征函数里的“点函数”(只与当前位置有关的特征函数),然后“边函数”(与前后位置有关的特征函数)还是用CRF自带的。这样就将线性链CRF里原始的w∗f这种形式的特征函数(线性)变成LSTM的输出f1(非线性),这就在原始CRF中引入了非线性,可以更好的拟合数据(交易中过拟合问题???)。
回复

使用道具 举报

 楼主| 发表于 2018-9-19 19:30:37 | 显示全部楼层
epoch:[9],train loss is:-13361.569336,train acc is:0.184375,time:0.25560426712036133,batch_len_all=16
test loss is:-3337.100098,test acc is:0.215000
test acc is:0.989899

XAGUSD数据,  HMM模型结果
训练16*100天 盈利13361.569336点
验证2*100天 盈利3337.100098点

epoch:[9],train loss is:-202860.515625,train acc is:0.470000,time:0.26849913597106934,batch_len_all=16
test loss is:-12930.490234,test acc is:0.452500
test acc is:0.989899

XAGUSD数据,  BiLSTM_CNN_CRF模型结果
训练16*100天 盈利202860.515625点
验证2*100天 盈利12930.490234点
回复

使用道具 举报

 楼主| 发表于 2018-9-19 23:42:49 | 显示全部楼层
  1. # -*- coding: utf-8 -*-
  2. """
  3. Change on Wed Sep 19 22:12:29 2018

  4. @author: ongbee
  5. """

  6. """
  7. Created on Fri Mar 16 14:46:58 2018


  8. """

  9. #scraping shanghai gold exchange requires two step
  10. #there are two layers, the first layer store links to daily summary report
  11. #the second layer is the daily summary report that i need
  12. #thus, i scrape the first layer to find the hyperlink to yesterday's report
  13. #i use regular expression to get hyperlink ID
  14. #i scrape again to get the report
  15. #my assumption is that the hyperlink ID should be hash encrypted

  16. import urllib.request as u
  17. import pandas as pd
  18. from bs4 import BeautifulSoup as bs

  19. import datetime as dt
  20. import os
  21. #Python正则表达式匹配日期与时间
  22. import re

  23. os.chdir('./')
  24. os.getcwd()

  25. a=dt.datetime.now().year
  26. b=dt.datetime.now().month

  27. # i wanna scrape t-1, thats why there is a minus one expression
  28. c=dt.datetime.now().day-1

  29. #k is the class of html structures, its vital to view the source of website first
  30. k=['xl63','xl64','xl65','xl66','xl68']
  31. url='http【:】//www【.】sge【.】com【.】cn/sjzx/mrhqsj'
  32. q=[]
  33. n_page=258
  34. soup_all = []
  35. #this function is basically standard procedure of webscraping

  36. def soup1(url):
  37.     try:
  38.         
  39.         #i use empty proxy handler cuz my uni network runs on its proxy
  40.         
  41.         #proxy_handler = u.ProxyHandler({})
  42.         #opener = u.build_opener(proxy_handler)
  43.         #req = u.Request(url)
  44.         #r = opener.open(req)
  45.         #result = r.read()
  46.         req = u.Request(url)
  47.         req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36')
  48.         result = u.urlopen(req).read().decode()
  49.         soup=bs(result,"lxml")
  50.         #soup=bs(result,"html.parser")
  51.         return soup
  52.     except Exception as e:
  53.         print(e)

  54. for i in range(n_page):
  55.     url0='http【:】//www【.】sge【.】com【.】cn/sjzx/mrhqsj?p=%d'%(i+1)
  56.     #print(url)
  57.     soup = soup1(url0)
  58.     soup_all.append(soup)
  59.     date_all = re.findall(r"(\d{4}-\d{1,2}-\d{1,2})",soup.getText())
  60.     for item in date_all:
  61.         p0=soup.find(text=item)
  62.         #print(str(p0.parent.parent))
  63.         x=re.findall('\d*',str(p0.parent.parent))
  64.         y=[]
  65.         for i in x:
  66.             if len(i)>6:
  67.                 y.append(i)
  68.         url='http【:】//www【.】sge【.】com【.】cn/sjzx/mrhqsj/%s?top=%s'%(y[0],y[1])
  69.         p1=soup1(url).find_all('td',class_=k)
  70.         for i in p1:
  71.             s=i.text.replace('\r\n\t\t\t\t\t','').replace('\r\n\t\t\t\t','')
  72.             q.append(s)
  73.         df=pd.DataFrame()
  74.         #using slicing to turn the list into a structured table

  75.         for k in range(13):
  76.             df[q[k]]=q[(k+13)::13]
  77.    
  78.         #the encoding of utf 8 sig is important, otherwise the chinese characters wont show correctly
  79.         df.to_csv('./data/SGE-{}.csv'.format(item),encoding='utf_8_sig')
复制代码


回复

使用道具 举报

发表于 2018-8-13 20:53:42 | 显示全部楼层
好复杂的样子,没有看明白。太难了
回复

使用道具 举报

 楼主| 发表于 2018-8-13 20:56:37 | 显示全部楼层
平静的湖 发表于 2018-8-13 20:53
好复杂的样子,没有看明白。太难了

现在热点不是深度学习嘛,找个切入点折腾一下

评分

1

查看全部评分

回复

使用道具 举报

发表于 2018-8-13 20:57:34 | 显示全部楼层
OngBee 发表于 2018-8-13 20:56
现在热点不是深度学习嘛,找个切入点折腾一下

折腾 的结果如何呢?
回复

使用道具 举报

 楼主| 发表于 2018-8-13 21:00:45 | 显示全部楼层
平静的湖 发表于 2018-8-13 20:57
折腾 的结果如何呢?

进行中。。。记录过程
回复

使用道具 举报

发表于 2018-8-13 21:01:45 | 显示全部楼层
lstm
不知为何物
来自安卓客户端来自安卓客户端
回复

使用道具 举报

发表于 2018-8-13 21:02:22 | 显示全部楼层
OngBee 发表于 2018-8-13 21:00
进行中。。。记录过程

你这个系统要是弄好了,就机械化操作啦
回复

使用道具 举报

发表于 2018-8-13 21:16:45 | 显示全部楼层

专业词 术语 黑话 你不懂咱更不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛帖子审核时间为1至4分钟,饭点、夜间和休市期间有延迟,请耐心稍后不要重复发帖,深夜被审的帖子将在第二天被 提升 至第一位。

Archiver|智宝盈贵金属论坛(原纸白银论坛) ( 湘ICP备08001561号 ) 智宝盈论坛联系/投诉/帐号解封:gold@cnoksoft.com

湘公网安备 43040802000067号 GMT+8, 2018-10-23 12:18

Powered by Discuz! X3.1

© Comsenz Inc.

快速回复 返回顶部 返回列表