2011-09-12 8 views
0

私は、いくつかの取引システムをテストするための簡単な金融ソフトウェアを開発しています。私はJavaを使用しています。 現在、私はyahooからダウンロードしたデータをいくつかのデータベースsqliteに保存しています。私の引用tabelの標準構成は次のとおりです。株式相場クラスを実装する最良の方法

symbol 
date 
open 
high 
low 
close 
volume 

今私は、特定のシンボルの私のデータベースの引用から取得し、計算のためにそれらを使用するためにメモリに保存する必要があります。 それで、そのデータを保存する最良の方法は何ですか? は、私はそれが引用クラスのオブジェクトだと思うので、私はそれを作成しました:

public class Quote { 

    String symbol; 
    List<String> date; 
    List<float> open; 
    List<float> high; 
    .. 
    List<float> close; 

    public getClose(){ ...} 
    etc. 
} 

しかし..私はいくつかの疑問をしました...私はそれが最善の方法だか分かりません。 のリストを作成することができます。オブジェクトですか?または、おそらく..いくつかの他のオプション?

ありがとうございました!

+0

プログラムを設計するための絶対的な正解はありません! –

+0

かなりまっすぐに見えますが、正しい軌道に乗っているようです。特に心配していることは何ですか? – crowne

答えて

2

見積もりは、ある時点の株式の価格ですが、あなたの質問から、各取引日のオープン/クローズ/最大値(つまり見積もりではない)がほしいと思うようです。私は一日のパフォーマンスを表現するクラスを作成し、ストックはそれを参照することができます。

class Stock { 
    String symbol; 
    List<Performance> history; 
} 

class Performance { 
    Calendar date; 
    double open; 
    double close; 
    double low; 
    double high; 
    double volume; 
} 

あなたが引用符をしたい場合は、クラスを作成することができます

class Quote { 
    Stock stock; 
    Calendar timestamp; 
    double value; 
} 

株式相場は、それがためにある在庫た思いやりのない、全体で引用符のリストをストリームすることができます。

これは単なる出発点です。私はドメインを分析しておらず、あなたが適切にモデル化する必要があるかどうか実際にはわかりません。

+0

偉大な...はい...これは絶対に良いです...クラス株式、および 'パフォーマンス'の歴史のリスト..はいはいはい..あなたは正しいと私はあなたの答えをマーク!!!! – stighy

0

通常、コードのデータオブジェクトレイヤは、データベース構造を反映します。あなたのデータモデルはQuoteレコードごとに(日付、オープン、ハイ、ロー、クローズ...)のうちの1つしか持っていないようですので、Javaクラスにこれらの同じ値のListがあることは奇妙です。

実際に引用符の束(リスト)を分析したいので、それらをメモリに格納することは、おそらくList<Quote>です。

+0

また、見積もりには本当に高い価値と低い価値がありますか?私への見積もりは実際に株式の現在の価値であり、「高」と「低」という概念はありませんが、母国語はわかりません。 – skaz

+0

データベースをミラーリングする "データオブジェクト層"に関して、あなたは完全に非正規化されたデータベースを持ち、素晴らしいOO Javaを持つことができます。 – SingleShot

関連する問題