00001
00002 #ifndef HURST_TEST_BASE_H
00003 #define HURST_TEST_BASE_H
00004
00005 #include "yahooTS.h"
00006
00019 class hurst_test_base
00020 {
00021 private:
00023 hurst_test_base( const hurst_test_base &hurst_test_base );
00024
00025 protected:
00029 yahooTS ts;
00030
00037 class equityEntry
00038 {
00040 const char *name_;
00042 const char *file_;
00044 const char *ticker_;
00045 public:
00046 equityEntry( const char *n,
00047 const char *tic,
00048 const char *phile ) : name_(n), ticker_(tic), file_(phile) {}
00049 equityEntry( const equityEntry &rhs )
00050 {
00051 name_ = rhs.name_;
00052 file_ = rhs.file_;
00053 ticker_ = rhs.ticker_;
00054 }
00055 ~equityEntry() {}
00056 const char *name() { return name_; }
00057 const char *file() { return file_; }
00058 const char *ticker() { return ticker_; }
00059 };
00060
00062 static equityEntry equityTable_[];
00064 static const size_t tableSize_;
00065
00066 protected:
00067 size_t blockedPercentReturn( const double *v,
00068 double *ret,
00069 const size_t N,
00070 const size_t block_size );
00071
00072 size_t blockedLogReturn( const double *v,
00073 double *ret,
00074 const size_t N,
00075 const size_t block_size );
00076
00077 equityEntry &findTableEntry( const char *ticker );
00078
00079 public:
00080 hurst_test_base( const char *path ) : ts( path ) {}
00081 ~hurst_test_base() {}
00082
00083 virtual void test() = 0;
00084 };
00085
00086 #endif