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

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

関連記事

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

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

子供がズルをするので計算カードをpython(Tkinter)で作った

うちの小学1年生の子の宿題に「計算カード」があります。 学校からは、「時間を計ってやりなさい」と言われているようです。 もちろん計算なんかせず、めくる事が目的になって、 どれだけ早くめくれるか。みたい …

今マスクが手に入りにくくなっている。店に在庫が無い。

  3M 使い捨て式防じんマスク 8577-DL2 10枚入り 国家検定合格品 8577 DL2   コロナウイルスの影響で、中国はおろか日本国内のマスクの在庫も枯渇している。 影響は意外なところにま …

カプレカ数をpythonで求める

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

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

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