FC2ブログ
現役プログラマー村健の、投資に役立つプログラムを作るための勉強ブログです。 自動売買、システムトレードに挑戦!します。 勉強と習得の成果を記録です。
本ブログについて
本ブログは、プログラマー観点で投資への対費用効果を上げるために何ができるか?を考えていくブログです。
基本的には、ツール作成・公開、投資に関わるプログラム情報、最終的には 完全なる自動売買を目指しています。

現在、HPの方で現在作成中のツールや発注ロジックなどを公開中です。
日足データを使ったバックテスト用ツールを作成します。

https://www.m2j.co.jp/market/historical.php
から、USD/JPYの日足データのCSVをダウンロードします。

1行目はデータに関係ないので、テキストエディタで消します。

ダイアログでファイルを選択し、CSVファイルから読み込んで内部変数に取得するプログラムです。

データを格納する構造体は以下になります。

'日足データ
Public Structure DailyChartData

Dim day As Date '日付
Dim openRate As Double '始値
Dim highPrice As Double '高値
Dim lowPrice As Double '安値
Dim closeRate As Double '終値

End Structure


データを取得するメソッドは以下になります。

Private Function DataLoad() As List(Of DailyChartData)

'ダイアログを表示してファイルパスを取得
Dim filePath As String
Dim dialog As New OpenFileDialog
Dim result As DialogResult = dialog.ShowDialog()
If result = System.Windows.Forms.DialogResult.OK Then
filePath = dialog.FileName
Else
Return Nothing
End If

'ファイルを開いてCSVデータを取得する
Dim data As New List(Of DailyChartData)
Using parser = New FileIO.TextFieldParser(filePath, System.Text.Encoding.GetEncoding("Shift-JIS"))
parser.Delimiters = New String() {","}
While Not parser.EndOfData
Dim lineData As New DailyChartData
Dim fields() = parser.ReadFields()
With lineData
.day = CDate(fields(0))
.openRate = CDbl(fields(1))
.highPrice = CDbl(fields(2))
.lowPrice = CDbl(fields(3))
.closeRate = CDbl(fields(4))
End With
data.Add(lineData)
End While
End Using

Return data

End Function


ブログランキングのクリックにご協力お願いします<(__)>
FC2ブログランキング
blogRanking
くる株・株ブログランキング
株・投資ランキング
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
https://investprogrammers.blog.fc2.com/tb.php/297-738b2b8c
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック