def example_ncfx_download():
    """Example of how to download directly from New Change FX using their RestAPI with the lower level DatabaseSourceNCFX
    class. It is recommended to cache this data locally, typically in an Arctic (dependent on license terms), to reduce
    latency when running TCA computations.

    In order to run this, you need to have a subscription with New Change FX, otherwise this will not work.
    """
    start_date = "04 May 2017 00:00"
    finish_date = "04 May 2017 00:05"
    ticker = "EURUSD"

    if ncfx_available:
        data_loader = DatabaseSourceNCFX()

        df = data_loader.fetch_market_data(start_date,
                                           finish_date,
                                           ticker=ticker)

        print(df)
# web_proxies = {
#     'http' : "http://127.0.0.1:8080",
#     'https' : "https://127.0.0.1:7000",
# }

chunk_int_min_dict = {'dukascopy' : None, 'ncfx' : 60} # number of minutes to download from data vendor (eg. 5 minutes)

########################################################################################################################
folder = Constants().test_data_harness_folder

#### Change for your data vendor
data_vendor_name_list = ['dukascopy'] # ['ncfx', 'dukascopy']

database_populator_dict = {'dukascopy' : DatabasePopulatorDukascopy(), 'ncfx' : DatabasePopulatorNCFX()}
database_source_dict = {'dukascopy' : DatabaseSourceDukascopy(), 'ncfx' : DatabaseSourceNCFX()}

if constants.ncfx_url is None and 'ncfx' in data_vendor_name_list:
    data_vendor_name_list.remove('ncfx')

if constants.ncfx_url is not None and 'ncfx' in data_vendor_name_list:
    if len(constants.ncfx_url) < 10:
        data_vendor_name_list.remove('ncfx')

invalid_start_date = '01 Jan 1999'
invalid_finish_date = '01 Feb 1999'

use_multithreading = False

def test_fetch_market_data_from_data_vendor():
    """Test the various downloaders (low level one, high level one - also with invalid dates, to test error messages)
Beispiel #3
0
    def _get_input_data_source(self):
        from tcapy.data.databasesource import DatabaseSourceNCFX

        return DatabaseSourceNCFX()
    'ncfx': 60
}  # number of minutes to download from data vendor (eg. 5 minutes)

########################################################################################################################
folder = Constants().test_data_harness_folder

#### change for your data vendor
data_vendor_name_list = ['ncfx', 'dukascopy']

database_populator_dict = {
    'dukascopy': DatabasePopulatorDukascopy(),
    'ncfx': DatabasePopulatorNCFX()
}
database_source_dict = {
    'dukascopy': DatabaseSourceDukascopy(),
    'ncfx': DatabaseSourceNCFX()
}

if constants.ncfx_url is None:
    data_vendor_name_list.remove('ncfx')

####

trade_order_list = ['trade_df', 'order_df']

sql_trade_order_mapping = OrderedDict([
    ('trade_df',
     '[dbo].[trade]'),  # name of table which has broker messages to client
    ('order_df', '[dbo].[order]')
])  # name of table which has orders from client
Beispiel #5
0
    def _get_input_data_source(self):
        from tcapy.data.databasesource import DatabaseSourceNCFX

        return DatabaseSourceNCFX(username=self._access_control.ncfx_username,
                                  password=self._access_control.ncfx_password,
                                  url=self._access_control.ncfx_url)