使い方

ここでは、本プロダクトの使い方を簡単な例を使って説明します。
各機能の詳細は Javadoc をご覧ください。

データセットのロード

以下はファイルからデータセットをロードする場合の例です。

// ファイルからデータセットをロードする FileDatasetLoader を使用します。
FileDatasetLoader loader = new FileDatasetLoader();

// シンボル名とファイルのマップを構築して設定します。
Map<String, String> symbolMap = new HashMap<String, String>();
symbolMap.put("n225", "C:\\TEMP\\n225.csv");
symbolMap.put("topix", "C:\\TEMP\\topix.csv");
loader.setSymbolMap(symbolMap);

// データセットとしてロードするシンボルを指定します。
loader.setSymbol("n225");
// データセットをロードします。
// ロードされた TimeSeriesDataset から StandardDataset を生成することにより、
// テクニカル指標用データとトレンド情報なしのローソク足情報も生成されます。
StandardDataset dataset = new StandardDataset(loader.load());

// 単純移動平均を求めます。
Number[] results = TechnicalAnalysis.sma(dataset.getTechnicalClose(), 5);

ローソク足情報の生成

以下はとりあえずコードを実行してみたい人向けの最も簡単な使用例です。

FileDatasetLoader loader = new FileDatasetLoader();
Map<String, String> symbolMap = new HashMap<String, String>();
symbolMap.put("n225", "C:\\TEMP\\n225.csv");
symbolMap.put("topix", "C:\\TEMP\\topix.csv");
loader.setSymbolMap(symbolMap);
loader.setSymbol("n225");
TimeSeriesDataset dataset = loader.load();

// 4本値データを用意します。
Number[] open  = dataset.getOpen();
Number[] high  = dataset.getHigh();
Number[] low   = dataset.getLow();
Number[] close = dataset.getClose();

// 4本値データからローソク足情報を生成します。
Candlestick[] candles = new CandlestickGenerator().generate(open, high, low, close);

// ローソク足情報を使用して、以下の例ではカラカサ線(たくり線)パターンを分析します。
boolean[] bullishHammer = CandlestickPatterns.bullishHammer(candles);

上記の例ではトレンド情報が分析に用いられない為、あまり実践的ではありません。
以下はトレンド情報も分析に用いる使用例です。

FileDatasetLoader loader = new FileDatasetLoader();
Map<String, String> symbolMap = new HashMap<String, String>();
symbolMap.put("n225", "C:\\TEMP\\n225.csv");
symbolMap.put("topix", "C:\\TEMP\\topix.csv");
loader.setSymbolMap(symbolMap);
loader.setSymbol("n225");
TimeSeriesDataset dataset = loader.load();

// 4本値データを用意します。
Number[] open  = dataset.getOpen();
Number[] high  = dataset.getHigh();
Number[] low   = dataset.getLow();
Number[] close = dataset.getClose();

// トレンドデータとしてポイント&フィギュアデータを使用します。
List<Step> pf = TechnicalAnalysis.pf(date, close, 2, 3);

// トレンドデータをトレンドプロセッサーへセットします。
TrendProcessor processor = new PointFigureTrendProcessor(pf);

// 日時や4本値データ、トレンドプロセッサーを指定してローソク足情報を生成します。
Candlestick[] candles = new CandlestickGenerator().generate(date, open, high, low, close, processor);

// ローソク足情報を使用して、以下の例ではカラカサ線(たくり線)パターンを分析します。
boolean[] bullishHammer = CandlestickPatterns.bullishHammer(candles);