2013-05-26 61 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