def test_pipeline_signal_to_position(): """Checks we can use a signal in conjunction with a rule to calculate a position.""" signal_to_positions = make_pipeline( scikit_signal_factory(normalised_close,), PricePredictionFromSignalRegression(), PositionsFromPricePrediction() ) df = signal_to_positions.fit_transform(simulated_market_data_4_years_gen()) assert isinstance(df, pd.DataFrame)
def test_readme_example_three(): """Get price prediction and positions from a signal transformer""" pipeline = make_pipeline( scikit_signal_factory(normalised_close), PricePredictionFromSignalRegression(), PositionsFromPricePrediction() ) pipeline.fit_transform(simulated_market_data_4_years_gen())
def test_regression(): """Check regression""" simulated_market_data = simulated_market_data_4_years_gen() simulated_market_data["signal"] = simulated_market_data["close"].shift(-1) price_prediction_from_signal = PricePredictionFromSignalRegression() out = price_prediction_from_signal.fit_transform(simulated_market_data) assert isinstance(out, pd.DataFrame)
def test_readme_example_four(): """Get price prediction and positions from an external signal transformer""" adapted_aroon = ta_adaptor(AroonIndicator, "aroon_down", window=1) pipeline = make_pipeline( scikit_signal_factory(adapted_aroon), PricePredictionFromSignalRegression(), PositionsFromPricePrediction() ) pipeline.fit_transform(simulated_market_data_4_years_gen())
def test_specific_rule(): """Checks using SMA.""" from infertrade.data.simulate_data import simulated_market_data_4_years_gen data = simulated_market_data_4_years_gen() sma_signal = Api.calculate_signal(data, "SMA") assert isinstance(sma_signal, pd.DataFrame)
def test_transformers(): """Verify transformers work.""" pos_from_price = PositionsFromPricePrediction() df = simulated_market_data_4_years_gen() df["forecast_price_change"] = df["close"] * 0.000_1 df_with_positions = pos_from_price.fit_transform(df) predictions_from_positions = PricePredictionFromPositions() df0 = predictions_from_positions.fit_transform(df_with_positions) df0 = df0.round() df = df_with_positions.round() assert list(df["forecast_price_change"]) == list(df0["forecast_price_change"])
def test_readme_example_one_external(): """Example of signal generation from time series via simple function""" adapted_aroon = ta_adaptor(AroonIndicator, "aroon_down", window=1) signal_transformer = scikit_signal_factory(adapted_aroon) signal_transformer.fit_transform(simulated_market_data_4_years_gen())
def test_readme_example_one(): """Example of signal generation from time series via simple function""" signal_transformer = scikit_signal_factory(normalised_close) signal_transformer.fit_transform(simulated_market_data_4_years_gen())
def test_readme_example_two(): """Example of position calculation from simple position function""" position_transformer = scikit_allocation_factory(constant_allocation_size) position_transformer.fit_transform(simulated_market_data_4_years_gen())
def test_market_data_4_years(): """Creates a small amount of simulated market data for testing.""" return simulated_market_data_4_years_gen()
See the License for the specific language governing permissions and limitations under the License. Created by: Thomas Oliver Created date: 25th March 2021 """ import pandas as pd import pytest from infertrade.PandasEnum import PandasEnum from infertrade.api import Api from infertrade.data.simulate_data import simulated_market_data_4_years_gen api_instance = Api() test_dfs = [simulated_market_data_4_years_gen(), simulated_market_data_4_years_gen()] def test_get_available_algorithms(): """Checks can get algorithm list and that returned algorithms can supply all expected properties.""" list_of_algos = Api.available_algorithms() assert isinstance(list_of_algos, list) for ii_algo_name in list_of_algos: assert isinstance(ii_algo_name, str) assert Api.return_algorithm_category(ii_algo_name) in Api.algorithm_categories() assert Api.determine_package_of_algorithm(ii_algo_name) in Api.available_packages() inputs = Api.required_inputs_for_algorithm(ii_algo_name) assert isinstance(inputs, list) for ii_required_input in inputs: assert isinstance(ii_required_input, str)
See the License for the specific language governing permissions and limitations under the License. Created by: Thomas Oliver Created date: 25th March 2021 """ import pandas as pd from infertrade.PandasEnum import PandasEnum from infertrade.api import Api from infertrade.data.simulate_data import simulated_market_data_4_years_gen api_instance = Api() test_dfs = [ simulated_market_data_4_years_gen(), simulated_market_data_4_years_gen() ] def test_get_available_algorithms(): """Checks can get algorithm list and that returned algorithms can supply all expected properties.""" list_of_algos = Api.available_algorithms() assert isinstance(list_of_algos, list) for ii_algo_name in list_of_algos: assert isinstance(ii_algo_name, str) assert Api.return_algorithm_category( ii_algo_name) in Api.algorithm_categories() assert Api.determine_package_of_algorithm( ii_algo_name) in Api.available_packages()