コード例 #1
0
ファイル: main.cpp プロジェクト: rb-ma/kingdom
int
	main
	(
	int argc,
	char ** argv
	)
{
	ifstream mf_file("mutual_funds.txt");
	ofstream results("results.txt");
	string mf;
	std::vector<double> rets(8);
	int num = 30;

	std::vector<mystruct0> rets;

	mf = "SPY";
	for (unsigned q = 0; q < 8; ++q) {
		rets[q] = get_return(
			mf,
			MARKET_DATA_WEEKLY,
			NUM_WEEKS_IN_A_QUARTER,
			q*NUM_WEEKS_IN_A_QUARTER);
	}

	mystruct a(mf, rets);

	rets.push_back(a);
	print_rets(mf, rets);

	try {
		while (mf_file.good()) {
			getline(mf_file, mf);
			if (mf.empty()) break;

			for (unsigned q = 0; q < 8; ++q) {
				rets[q] = get_return(
					mf,
					MARKET_DATA_WEEKLY,
					NUM_WEEKS_IN_A_QUARTER,
					q*NUM_WEEKS_IN_A_QUARTER);
			}

			print_rets(mf, rets);

			if (num-- == 0) break;
		}
	}
	catch (exception e) {

	}

	mf_file.close();

	system("pause");
	return 0;
}
コード例 #2
0
ファイル: Database.cpp プロジェクト: tomrushmore/SimulSig
int Database::ReadFile(int file_num)
{
    printf("*--------------Database Read-----------------*\n");
    std::string dir = MACHINEPATH;
    dir.append("Database/Corpus/");
    std::string suffix = ".txt";
    char buf[10]; 
    sprintf(buf, "%d", file_num);
    
    std::ifstream database_setup;
    printf("Reading database setup file...\n");
    std::string db_file(dir);
    db_file.append("database_summary_");
    db_file.append(buf);
    db_file.append(suffix);
    database_setup.open(db_file.c_str());
    database_setup >> mfcc_num_coef;
    database_setup >> fft_frame_length;
    fft_frame_length += 2;
    database_setup >> database_frame_num;
    database_setup >> num_tracks;
    database_setup.close();
    printf("Complete\n");

    std::ifstream mfccFile;
    printf("Reading mfcc file...\n");
    std::string mf_file(dir);
    mf_file.append("mfcc_frames_");
    mf_file.append(buf);
    mf_file.append(suffix);
    mfccFile.open(mf_file);
    mfcc_matrix = (double**)malloc(sizeof(double*)*database_frame_num);
    for(int i = 0; i < database_frame_num; i++){
        mfcc_matrix[i] = (double*)malloc(sizeof(double)*mfcc_num_coef);
        for(int j = 0 ; j < mfcc_num_coef;j++){
            mfccFile >> mfcc_matrix[i][j];
        }
    }
    mfccFile.close();
    printf("Complete\n");
    
    std::ifstream fftFile;
    printf("Reading fft frames file...\n");
    std::string ft_file(dir);
    ft_file.append("fft_frames_");
    ft_file.append(buf);
    ft_file.append(suffix);
    fftFile.open(ft_file);
    fft_matrix = (double**)malloc(sizeof(double*)*database_frame_num);
    for(int i = 0 ; i < database_frame_num; i++){
        fft_matrix[i] = (double*)malloc(sizeof(double)*fft_frame_length);
        for(int j = 0; j < fft_frame_length; j++){
            fftFile >> fft_matrix[i][j];
        }
    }

    fftFile.close();
    printf("Complete\n");
    
    debug_print(("Reading track frame lengths..."));
    std::string track_frame_l_file(MACHINEPATH);
    track_frame_l_file.append("Database/Corpus/track_frame_lengths.txt");
    std::ifstream tr_frm_l_file;
    tr_frm_l_file.open(track_frame_l_file);
    track_frame_length = (int*)malloc(sizeof(int)*num_tracks);
    for(int i = 0 ; i < num_tracks; i++){
        tr_frm_l_file >> track_frame_length[i];
    }
    tr_frm_l_file.close();
    debug_print(("\tComplete\n"));
    
    debug_print(("Reading buf lengths..."));
    std::string buf_s_file_p(MACHINEPATH);
    buf_s_file_p.append("Database/Corpus/buffer_sizes.txt");
    std::ifstream buf_s_file;
    buf_s_file.open(buf_s_file_p);
    track_buffer_sizes = (long*)malloc(sizeof(long)*num_tracks);
    for(int i = 0 ; i < num_tracks; i++){
        buf_s_file >> track_buffer_sizes[i];
    }
    buf_s_file.close();
    debug_print(("\tComplete\n"));
    debug_print(("Number MFCC Coefficients     : %d\n",mfcc_num_coef));
    debug_print(("Number values p FFT frame    : %d\n",fft_frame_length));
    debug_print(("Total num frames in database : %ld\n\n",database_frame_num));
    printf("*--------------------------------------------*\n");

    gr_size = (int)database_frame_num;
    gr_coef = mfcc_num_coef;
    gr_fft = fft_frame_length;
    return 0;
}
コード例 #3
0
ファイル: main.cpp プロジェクト: rb-ma/kingdom
void
	func1
	(
	void
	)
{
	matrix<double> etf_returns(100, NUM_WEEKS_IN_A_YEAR);
	ifstream ifile("etfs.txt");
	unsigned etf_i = 0;

	string line, etf_symbol;
	while (ifile.good()) {
		getline(ifile, line);
		if (line.empty())
			break;

		etf_symbol = get_csv_line_cell_as_string(line, 0);

		string filename = download_market_data(etf_symbol, MARKET_DATA_WEEKLY);
		populate_return_vector(
			filename,
			NUM_WEEKS_IN_A_YEAR,
			etf_i,
			etf_returns);

		++etf_i;
	}

	ifstream mf_file("mutual_funds.txt");
	
	string mf;
	unsigned num_mfs = 0;
	std::vector<mystruct> ret_vector;

	while (mf_file.good()) {
		std::vector<multivariate_regression_results_t> results;
		getline(mf_file, mf);

		string file_str = download_market_data(mf, MARKET_DATA_WEEKLY);

		std::vector<double> mf_prices;
		populate_price_vector(
			file_str,
			NUM_WEEKS_IN_A_YEAR,
			mf_prices);

		if (mf_prices.size() < NUM_WEEKS_IN_A_YEAR)
			continue;

		double _52wk = 100. * (mf_prices[0] - mf_prices[NUM_WEEKS_IN_A_YEAR-1])/mf_prices[NUM_WEEKS_IN_A_YEAR-1];
		double _26wk = 100. * (mf_prices[0] - mf_prices[2*NUM_WEEKS_IN_A_QUARTER-1])/mf_prices[2*NUM_WEEKS_IN_A_QUARTER-1];
		double _13wk = 100. * (mf_prices[0] - mf_prices[NUM_WEEKS_IN_A_QUARTER-1])/mf_prices[NUM_WEEKS_IN_A_QUARTER-1];
		
		ret_vector.push_back(mystruct(mf, _52wk, _26wk, _13wk));
		if (num_mfs++ > 1000)
			break;
	}

	std::sort(
		ret_vector.begin(), 
		ret_vector.end(), 
		sort_52wk());

}
コード例 #4
0
ファイル: Database.cpp プロジェクト: tomrushmore/SimulSig
int Database::ReadFileGroup(int file_num,int s_grouping,int type)
{
    grouping = s_grouping;
    
    // grouping must be > 0
    printf("\n*--------------Database Group Read-----------------*\n");

    std::string dir = MACHINEPATH;
    switch(type){
        case 0: dir.append("Database/Corpus/"); break;
        case 1: dir.append("Database/Corpus/DB/"); break;
    }
    //dir.append("Database/Corpus/");
    std::string suffix = ".txt";
    char buf[10]; // enough to hold all numbers up to 64-bits
    sprintf(buf, "%d", file_num);
    
    std::ifstream database_setup;
    printf("Reading database setup file...");
    std::string db_file(dir);
    db_file.append("database_summary_");
    db_file.append(buf);
    db_file.append(suffix);
    database_setup.open(db_file.c_str());
    database_setup >> mfcc_num_coef;
    database_setup >> fft_frame_length;
    fft_frame_length += 2;
    database_setup >> database_frame_num;
    database_setup >> num_tracks;
    database_setup.close();
    printf("\tComplete\n");
    
    std::ifstream mfccFile;
    printf("Reading mfcc file...");
    std::string mf_file(dir);
    mf_file.append("mfcc_frames_");
    mf_file.append(buf);
    mf_file.append(suffix);
    mfccFile.open(mf_file);
    
    grouped_size = (long)floor(database_frame_num/grouping);
    int grouped_coef = mfcc_num_coef * grouping;    
    gr_size = (int)grouped_size;
    gr_coef = grouped_coef;

    mfcc_matrix = (double**)malloc(sizeof(double*)*grouped_size);
    for(int i = 0; i < grouped_size; i++){
        mfcc_matrix[i] = (double*)malloc(sizeof(double)*grouped_coef);
    }
    for(int i = 0; i < grouped_size  ; i++){
        for(int j = 0 ; j < grouped_coef;j++){
            mfccFile >> mfcc_matrix[i][j];
        }
    }
    mfccFile.close();
    printf("\tComplete\n");
    
    std::ifstream fftFile;
    printf("Reading fft frames file...");
    std::string ft_file(dir);
    ft_file.append("fft_frames_");
    ft_file.append(buf);
    ft_file.append(suffix);
    fftFile.open(ft_file);
    fft_length_grouped = fft_frame_length * grouping;
    printf("fft len group : %d\n",fft_length_grouped);
    fft_matrix = (double**)malloc(sizeof(double*)*grouped_size);
    for(int i = 0 ; i < grouped_size; i++){
        fft_matrix[i] = (double*)malloc(sizeof(double)*fft_length_grouped);
    }
    for(int i = 0 ; i < grouped_size; i++){
        for(int j = 0; j < fft_length_grouped; j++){
            fftFile >> fft_matrix[i][j];
           // printf("%f ",fft_matrix[i][j]);
        }
    }
    fftFile.close();
    printf("\tComplete\n");
    
    gr_size = (int)grouped_size;
    gr_fft = fft_length_grouped;
    debug_print(("Reading track frame lengths..."));
    std::string track_frame_l_file(dir);
    track_frame_l_file.append("track_frame_lengths.txt");
    std::ifstream tr_frm_l_file;
    tr_frm_l_file.open(track_frame_l_file);
    track_frame_length = (int*)malloc(sizeof(int)*num_tracks);
    for(int i = 0 ; i < num_tracks; i++){
        tr_frm_l_file >> track_frame_length[i];
        printf("Track Length : %d \n",track_frame_length[i]);
    }
    tr_frm_l_file.close();
    
    debug_print(("Reading buf lengths..."));
    std::string buf_s_file_p(dir);
    buf_s_file_p.append("buffer_sizes.txt");
    std::ifstream buf_s_file;
    buf_s_file.open(buf_s_file_p);
    track_buffer_sizes = (long*)malloc(sizeof(long)*num_tracks);
    for(int i = 0 ; i < num_tracks; i++){
        buf_s_file >> track_buffer_sizes[i];
    }
    buf_s_file.close();
    debug_print(("\tComplete\n"));

    
    debug_print(("\tComplete\n"));
    printf("Num Tracks : %d\n",num_tracks);
    debug_print(("Number MFCC Coefficients     : %d\n",mfcc_num_coef));
    debug_print(("Number values p FFT frame    : %d\n",fft_frame_length));
    debug_print(("Total num frames in database : %ld\n",database_frame_num));
    debug_print(("Grouped MFCC num coefs       : %d\n",grouped_coef));
    debug_print(("Num frames when grouped      : %ld\n",grouped_size));
    GroupTrackLengths();
    printf("*--------------------------------------------------*\n");

    return 0;
}