import copy as copy import pylab # Own graphical library from graph_lib import gl import graph_tsa as grtsa # Data Structures Data import CTimeData as CTD # Import functions independent of DataStructure import basicMathlib as bMA import utilities_lib as ul import KalmanFilter as KF plt.close("all") # Close all previous Windows ######## SELECT DATASET, SYMBOLS AND PERIODS ######## dataSource = "GCI" # Hanseatic FxPro GCI Yahoo [storage_folder, info_folder, updates_folder] = ul.get_foldersData(source = dataSource) #symbols = ["XAUUSD","Mad.ITX", "EURUSD"] symbols = ["Alcoa_Inc"] #symbols = ["Amazon"] periods = [1440] ######## SELECT DATE LIMITS ########### sdate_str = "01-01-2016" edate_str = "2-1-2017" sdate = dt.datetime.strptime(sdate_str, "%d-%m-%Y") edate = dt.datetime.strptime(edate_str, "%d-%m-%Y") ######## CREATE THE OBJECT AND LOAD THE DATA ########## # Tell which company and which period we want timeData = CTD.CTimeData(symbols[0],periods[0]) timeData.set_csv(storage_folder) # Load the data into the model timeData.set_interval(sdate,edate) # Set the interval period to be analysed
preprocess_data = 1 perform_EM = 1 perform_HMM_after_EM = 0 final_clusters_graph = 1 responsibility_graph = 1 ########################################################################## ################# DATA OBTAINING ###################################### ########################################################################## ######## SELECT SOURCE ######## dataSource = "Google" # Hanseatic FxPro GCI Yahoo [storage_folder, info_folder, updates_folder] = ul.get_foldersData(source = dataSource) folder_images = "../pics/Trapying/EM_trading/" ul.create_folder_if_needed(folder_images) ######## SELECT SYMBOLS AND PERIODS ######## symbols = ["XAUUSD","Mad.ITX", "EURUSD"] symbols = ["Alcoa_Inc"] symbols = ["GooG", "Alcoa_Inc"] periods = [5] # Create porfolio and load data cmplist = DBl.read_NASDAQ_companies(whole_path = "../storage/Google/companylist.csv") cmplist.sort_values(by = ['MarketCap'], ascending=[0],inplace = True) symbolIDs = cmplist.iloc[0:30]["Symbol"].tolist() symbol_ID_indx1 = 0
from graph_lib import gl # For statistics. Requires statsmodels 5.0 or more from statsmodels.formula.api import ols # Analysis of Variance (ANOVA) on linear models from statsmodels.stats.anova import anova_lm import pandas as pd from sklearn import linear_model import basicMathlib as bMA import indicators_lib as indl plt.close("all") ######## SELECT DATASET, SYMBOLS AND PERIODS ######## # Hanseatic FxPro GCI Yahoo [storage_folder, info_folder, updates_folder] = ul.get_foldersData(source="GCI") ################## Date info ################### sdate_str = "01-8-2014" edate_str = "21-12-2016" sdate = dt.datetime.strptime(sdate_str, "%d-%m-%Y") edate = dt.datetime.strptime(edate_str, "%d-%m-%Y") #################################################### #### Load the info about the available symbols ##### #################################################### load_info = 0 if (load_info == 1): Symbol_info = CSy.load_symbols_info(info_folder) Symbol_names = Symbol_info["Symbol_name"].tolist() Nsym = len(Symbol_names)
# Change main directory to the main folder and import folders import os os.chdir("../") import import_folders import CTimeData as CTD import utilities_lib as ul ######## SELECT DATASET, SYMBOLS AND PERIODS ######## dataSource = "GCI" # Hanseatic FxPro GCI Yahoo Google [storage_folder, info_folder, updates_folder] = \ ul.get_foldersData(source = dataSource) symbol = "Amazon" period = 1440 ######## CREATE THE OBJECT AND LOAD THE DATA ########## timeData = CTD.CTimeData(symbol,period) # Set main properties timeData.set_csv(storage_folder) # Load the data into the model import datetime as dt sdate = dt.datetime.strptime("01-01-2016", "%d-%m-%Y") edate = dt.datetime.strptime("15-05-2016", "%d-%m-%Y") timeData.set_interval(sdate,edate) # Set the interval period to be analysed mask = timeData.time_mask dates = timeData.get_dates()
import numpy as np import CSymbol as CSy import copy as copy import CPortfolio as CPfl import gc import utilities_lib as ul import DDBB_lib as DBl ### CODE TO EXECUTE FROM TIME TO TIME TO DOWNLOAD A LOT OF DATA FROM MT4 OR ### THE INTERNET ######## SELECT SOURCE ######## dataSource = "Google" # Hanseatic FxPro GCI Yahoo Google [storage_folder, info_folder, updates_folder] = ul.get_foldersData(source = dataSource, symbol_info_list = "Current") ## Select the Symbol Names and periods we want to download periods = [15] #periods = [60,1440] #periods = [1,15] ### UPDATE ALL SYMBOLS if ((dataSource != "Google") and (dataSource != "Yahoo")): # Update from the CSVs downloaded already Symbol_info = CSy.load_symbols_info(info_folder) Symbol_names = Symbol_info["Symbol_name"].tolist() for period in periods: Cartera = CPfl.Portfolio("BEST_PF", Symbol_names, [period])
from graph_lib import gl # For statistics. Requires statsmodels 5.0 or more from statsmodels.formula.api import ols # Analysis of Variance (ANOVA) on linear models from statsmodels.stats.anova import anova_lm import pandas as pd from sklearn import linear_model import basicMathlib as bMA import indicators_lib as indl plt.close("all") ######## SELECT DATASET, SYMBOLS AND PERIODS ######## # Hanseatic FxPro GCI Yahoo [storage_folder, info_folder, updates_folder] = ul.get_foldersData(source = "GCI") ################## Date info ################### sdate_str = "01-8-2014" edate_str = "21-12-2016" sdate = dt.datetime.strptime(sdate_str, "%d-%m-%Y") edate = dt.datetime.strptime(edate_str, "%d-%m-%Y") #################################################### #### Load the info about the available symbols ##### #################################################### load_info = 0 if (load_info == 1): Symbol_info = CSy.load_symbols_info(info_folder) Symbol_names = Symbol_info["Symbol_name"].tolist() Nsym = len(Symbol_names)
# Change main directory to the main folder and import folders import os os.chdir("../") import import_folders import CTimeData as CTD import utilities_lib as ul ######## SELECT DATASET, SYMBOLS AND PERIODS ######## dataSource = "GCI" # Hanseatic FxPro GCI Yahoo Google [storage_folder, info_folder, updates_folder] = \ ul.get_foldersData(source = dataSource) symbol = "Amazon" period = 1440 ######## CREATE THE OBJECT AND LOAD THE DATA ########## timeData = CTD.CTimeData(symbol, period) # Set main properties timeData.set_csv(storage_folder) # Load the data into the model import datetime as dt sdate = dt.datetime.strptime("01-01-2016", "%d-%m-%Y") edate = dt.datetime.strptime("15-05-2016", "%d-%m-%Y") timeData.set_interval(sdate, edate) # Set the interval period to be analysed mask = timeData.time_mask dates = timeData.get_dates()