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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

ソフトバンクからワイモバイルにiPhoneで乗り換える方法(MNP)

現在iPhone7を使用中、番号そのまま(MNP)ソフトバンクからワイモバイルに乗り換えたので自分なりにまとめます。   何から始めればいいのか 結構大事なことだけど、あまり書かれていないので書いてお …

カプレカ数をpythonで求める

カプレカ数とは まず6174を例にとってみます。 ’6’、’1’、’7’、’4’と桁を関係なく数字をバラバラにします。 その数字の並び替えを[最大]と[最小]になるように並び替えます。 ・最大 764 …

3Dプリンター用のデータの作り方(初心者向けFusion 360の使い方)

   3Dプリンターを購入し、作りたい物が作れるようになったので、3Dプリンターで使える3Dデータ(STLデータ)の作り方を解説します。ソフトは無料の物を使用します。   簡単!きれいな造形です!とう …

バイク用バッテリーレスキットを自作する

 早速ですが、KSR80のエアクリーナーボックスを撤去したら、バッテリーの置き場にこまったので、バッテリーレス化します。  バッテリーレスキットの自作は、前から気になって調べていたので、コンデンサつな …

pythonのtkinterを使って、あまりのある割り算アプリを作ってみた

小3の娘に、あまりのある割り算の問題を出してほしいとたのまれたので、Windowsで動くアプリを作ってみました。 退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミ …