Exemplo n.º 1
0
 def _print_stats_to_console(self, portfolio_tms):
     try:
         ta = TimeseriesAnalysis(portfolio_tms, frequency=Frequency.DAILY)
         print(TimeseriesAnalysis.values_in_table(ta))
     except Exception as ex:
         self.logger.error("Error while calculating TimeseriesAnalysis: " +
                           str(ex))
Exemplo n.º 2
0
def _list_of_ta(df):
    ta_list = [
        TimeseriesAnalysis(df[series_name], Frequency.DAILY)
        for series_name in df
    ]
    print(TimeseriesAnalysis.values_in_table(ta_list))
    print(TimeseriesAnalysis.values_in_table(ta_list, df.columns))
Exemplo n.º 3
0
def _single_series_usage(data_provider):
    series = data_provider.get_price(tickers=ticker,
                                     fields=PriceField.Close,
                                     start_date=start_date,
                                     end_date=end_date)
    ta = TimeseriesAnalysis(series, Frequency.DAILY)
    print(TimeseriesAnalysis.values_in_table(ta))
    return ta
Exemplo n.º 4
0
    def build_document(self):
        self._add_header()
        self._perf_and_cone()
        self._add_dd_and_leverage()

        if self.benchmark_tms is None:
            ta_list = [TimeseriesAnalysis(self.strategy_tms, self.frequency)]
        else:
            ta_list = [TimeseriesAnalysis(self.strategy_tms, self.frequency),
                       TimeseriesAnalysis(self.benchmark_tms, self.frequency)]
        self._add_statistics_table(ta_list)
Exemplo n.º 5
0
def _dataframe_usage(data_provider):
    df = data_provider.get_price(tickers=many_tickers,
                                 fields=PriceField.Close,
                                 start_date=start_date,
                                 end_date=end_date)
    df.fillna(method='ffill', inplace=True)
    print(TimeseriesAnalysis.table_for_df(df))
    return df
Exemplo n.º 6
0
    def get_model_and_fund_statistics(self) -> str:
        statistics = "\nFit R Square = {:5.3f} \n\n" \
                     "{:44s} \t Fit \n".format(self.model.r_squared, self.model.input_data.analysed_tms.name)

        statistics += TimeseriesAnalysis.values_in_table(
            self.model.fund_tms_analysis)

        return statistics
Exemplo n.º 7
0
 def _setup_return_analysis_of_fund_and_fit(self, fitted_tms):
     freq = self.input_data.frequency
     analysed_tms = self.input_data.analysed_tms
     self.fit_tms_analysis = TimeseriesAnalysis(fitted_tms, freq)
     self.fund_tms_analysis = TimeseriesAnalysis(analysed_tms, freq)
Exemplo n.º 8
0
 def _add_statistics_table(self, series_list: List[QFSeries]):
     ta_list = [
         TimeseriesAnalysis(series, self.frequency)
         for series in series_list
     ]
     super()._add_statistics_table(ta_list)
Exemplo n.º 9
0
 def _print_stats_to_console(self, portfolio_tms):
     if self._monitor_settings.print_stats_to_console:
         ta = TimeseriesAnalysis(portfolio_tms, frequency=Frequency.DAILY)
         print(TimeseriesAnalysis.values_in_table(ta))