kakashi-blog・カカシブログ・

Python備忘録を書きドローンやバイクなど好きな事で生きて行こうとしているブログ

未分類

fxの1分足を10分足に変換するpythonプログラム

投稿日:2020年6月30日 更新日:

今月一度もブログ更新出来ていなかったので日付が変わる前に更新しようと思います

 

バックテストを行うためにネット上でヒストリカルデータを探していた所、

FOREX TESTERというサイトに漂着

FOREXTESTERという名前は聞いた事があったので怪しいサイトではなさそう

約20年分の1分足の為替データが18ペアも無料で提供されています。

データサイズは大体30~40MB。

とくにダウンロードするまではデカい数字だと思っていなかった。

開いてみると・・・.txt

テキストデータで30MB、

1分足なので

60分が24回、月の取引きが22日あって、それが12ヵ月、それが20年分てことは

ざっくり7,603,200行ありますね

エクセルの数の限界が 1,048,576行 なのでエクセルでは開けません

10分足にすれば1/10になると考えpythonで変換データを作ってみました

 

ダウンロードデータを開いた物(少し加工しています「¥n」を置換で削除しました)

import re
a=open('GBPJPY20200625.txt')
b=a.read()
a=''
c=0
d=[]
e=[]
i=0
while c+60<=len(b):    
    c=i*51
    d=[]
    for ii in range(51):
        d.append(b[ii+c])
    d=','.join(d)
    d=d.replace(',','')
    e.append(d)
    i+=1
b=[]
a=[]
print('eまでクリア')
asi5,x,hl,ll=[],[],[],[]
i4=int(e[0][16])
i5=0
for iii in range(len(e)):
    if i4==int(e[iii][16])|i5==0:
        s=float(e[iii][20:26])
    takane=float(e[iii][26:32])
    hl.append(takane)
    h=max(hl)
    yasune=float(e[iii][38:44])
    ll.append(yasune)
    l=min(ll)
    if iii<len(e)-2:
        if i4==int(e[iii][16])|i4!=int(e[iii+1][16]):
            o=float(e[iii][32:38])
            t=(e[iii][6:20])
            x.append(t)
            x.append(s)
            x.append(h)
            x.append(l)
            x.append(o)
            asi5.append(x)
            h,l,x=[],[],[]
            i4=int(e[iii+1][16])
            i5=0
        else:
            i5+=1
    
    
    
print('finish')  

 

とりあえずパパパと動くデータを作りたかったので汚い(醜い)プログラムになってます(動けばいいや)

あーなんかバグってる、(e[iii][ これが (e&#91;iii]&#91;に文字化けしてる

眠いので続きは明日書きます

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

amazonから注文していない物が届いた場合の対処法

  突然amazonから身に覚えのないものが届きました。 前日にAmazonアフィリの登録をしていたので、何か送ってきたのかと思い開けてみると。 👇望遠鏡が入っていました、まさにこれ。 …

Tkinterのメッセージボックス、謎ウインドウが消えない

pythonでTkinterを使用し、メッセージボックスを使おうと思ったが、謎ウインドウが出てきて処理が止まってしまう。    ↓のやつですね   調べてみると、「ルートウィンドウが無いと勝手に生成さ …

仮想通貨マイニング、電気代は実際いくらかかるのか

現在暴落中の仮想通貨ですが、先週くらいまではイケイケでした。 そんな中マイニングを始めたわけですが、儲かるのかどうなのか、 ちゃんと計算してみました。   基本的な収支の考え    マイニング収益 ー …

サラリーマンが株取引で利益、損益を出した時の確定申告のやり方(初めての方)

  一般的にサラリーマンはあまり確定申告をすることはありませんが、今回はそんなサラリーマンが株取引で利益、損益をだした時に確定申告をする事を想定して記事を書きます。   まず株の取引きをする場合、通常 …

CPUの選び方、Intel&AMDの性能と価格、レシオでコスパを判断

自作PCを作ってみようと思い立ったが、どのCPUを選べばいいかわからない。 なので、一つの判断材料として性能&価格でレシオを比較してみよう    PC自作の鉄則! 2020 (日経BPパソコンベストム …