2013-05-26 60 views
0

個人項目尋找如何從看在Java類點以下的數據操作設計我
程序頂層OOP理論:Java理論:貨幣類設計,期貨和金屬分析

  1. 將多個歷史數據存儲爲CSV文件。 (沒有其他的)。
  2. 歷史數據位於硬盤上。
  3. 歷史數據由以下幾種類型組成:
    a。貨幣(多種貨幣)都是相同的格式。
    b。期貨(多期貨)與貨幣不同的報價格式。
    c。金屬(多種金屬)與幣種相同的刻度格式。
  4. 想通過以下方法執行以下類型的數據操作
    a。所有歷史數據的統計分析。
    b。具體的歷史數據自己的算法分析。以表格格式上面的
  5. 結果

我開始對期貨數據和寫作方法等,但我還是很程序一樣,
例如:
只是有2類,一個是與我所有的方法和其他只是一個測試類,通過我創建的對象調用方法。
我一直在調用存儲我的tickdata的相同數組,每個程序的效率都不高。
我想使用繼承,多態代碼重用等原則來做到這一點。

目前我不關心速度,性能等,但只是能夠從編程的角度來做 。我對此很新,我認爲這是學習它的最好方法。
如果我能夠做到這一點的數據,這將是非常棒的!
我的系統有12個內存。

任何幫助將是偉大的!

+0

一個對象大致是一個狀態,一組方法和行爲從方法鏈出現......發佈你的程序代碼以提示。 – Aubin

+0

究竟是什麼問題?您是否要求我們爲您的計劃提供精確的設計? – Zong

回答

0

你的類

一)貨幣(多種貨幣)都相同的格式。 b)期貨(多期貨)與貨幣不同的報價格式。 c)金屬(多種金屬)與貨幣相同的刻度格式。

這裏有三類。你可以有一些類Currency,FuturesMetals。這些都屬於HistoricalData的類別。例如:

public class Currency extends HistoricalData 
{ 
    private String data; 

    public Currency(String data) 
    { 
     // Just a mock up. 
     this.data = data; 
    } 
} 

如果你認爲你將作出很大的改變你的統計分析,那麼你不想不得不在每一個類,你在實現一些statistics方法這些變化。這提示我,你應該把它移植到HistoryStatsEngine(或其他)類。這樣,您可以對類的使用方式進行更改,而無需更改類本身。

使用這些類

可替代性

因爲所有的類都是HistoricalData父的所有子類,你可以創建一個包含所有的人,喜歡收藏:

private ArrayList<HistoricalData> data = new ArrayList<HistoricalData>(); 

抽象方法

在你HistoricalData類,你可以有必要的抽象方法,例如:

public void performCalculation(); 
+0

謝謝,這正是我正在尋找的設置類型。我現在要試試這個設置,並且會回發。 – fergie

+0

沒問題。如果它有幫助,一定要將其標記爲正確的答案! – christopher

0

我不喜歡基類的想法只是爲了防止重複方法。貨幣如何成爲歷史數據?這是什麼說的呢?沒有。

這是一個棘手的問題,許多程序員從來沒有擅長,因爲想要在這個交通工具上開車,而不僅僅是產生程序性的咕。

你真的不知道你想要做什麼樣的統計分析。我用概率做了很多工作。概率模型圍繞將「特徵」聚合成分類的概念,然後通過查看哪些分類器新實例最接近類似來預測未來。比如,如果我要構建一個邏輯模型,來猜測我所瞭解的Futures會發生什麼,我會建立一個分類器。很可能會有兩個分類代表哪個分類成功,哪個分類失敗,然後我會訓練我的過去數據。培訓涉及提取每個要素的值並將其放入分類的分佈中。很簡單。而且你不需要基類,而且你肯定不希望類型層次結構中的分類。然後,一旦我對分類器進行了訓練,我就可以通過簡單地計算兩個分類的相似度,使用折衷頻段來決定選擇哪一個(或者哪一個),從而計算新Future的成功概率。

開始將分析工件構建到類型層次結構中總是一個糟糕的主意,因爲分析是根據定義進行透視的:明天我可能想要對相同類型完全不同的東西,或者測試它們以完全不同的情況。預測哪種期貨是欺詐性的。

+0

*歷史數據包含以下類型:*。OP特別將「貨幣」定義爲一種歷史數據。 – christopher

+0

@Rob我真的需要看看什麼是分類等新的這個,所以我從頭開始。謝謝回覆! – fergie

+0

@ Chris,同意我的三種歷史數據是貨幣,期貨和金屬。我每次收到相同格式的貨幣和金屬。所以我的解析方法對於這些類型將是相同的。然而,期貨數據是不同的,所以我的解析方法會相似但不同。在我的貨幣類型中,我將擁有多種貨幣,例如eurusd,eurgbp等,在期貨中我將有es,nq等金屬示例xagusd,xauusd .. – fergie