コード例 #1
0
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)
コード例 #2
0
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())
コード例 #3
0
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)
コード例 #4
0
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())
コード例 #5
0
ファイル: test_ta_lib.py プロジェクト: iotmech/infertrade
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)
コード例 #6
0
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"])
コード例 #7
0
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())
コード例 #8
0
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())
コード例 #9
0
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())
コード例 #10
0
ファイル: conftest.py プロジェクト: iotmech/infertrade
def test_market_data_4_years():
    """Creates a small amount of simulated market data for testing."""
    return simulated_market_data_4_years_gen()
コード例 #11
0
ファイル: test_api.py プロジェクト: iotmech/infertrade
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)
コード例 #12
0
ファイル: test_api.py プロジェクト: holderfolyf/infertrade
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()