Пример #1
0
def frequencyPatternSearch6Test(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("AAPL", "a1"),
                    PrimitiveEventStructure("LOCM", "b1"),
                    PrimitiveEventStructure("AAPL", "a2"),
                    PrimitiveEventStructure("LOCM", "b2"),
                    PrimitiveEventStructure("AAPL", "a3"),
                    PrimitiveEventStructure("LOCM", "b3")), TrueCondition(),
        timedelta(minutes=7))
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        [0.0159, 0.0076, 0.0159, 0.0076, 0.0159, 0.0076]
    })  # {"AAPL": 460, "LOCM": 219}
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=StatisticsDeviationAwareOptimizerParameters(
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
            statistics_collector_params=StatisticsCollectorParameters(
                statistics_types=[StatisticsTypes.ARRIVAL_RATES])),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)

    runTest("frequency6", [pattern],
            createTestFile,
            eval_mechanism_params=eval_params)
Пример #2
0
def nestedAscendingTest(createTestFile=False):
    pattern = Pattern(
        AndOperator(
            SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                        PrimitiveEventStructure("AMZN", "b")),
            SeqOperator(PrimitiveEventStructure("AVID", "c"),
                        PrimitiveEventStructure("BIDU", "d")),
            AndOperator(PrimitiveEventStructure("GOOG", "e"),
                        PrimitiveEventStructure("AAPL", "f")),
            PrimitiveEventStructure("GOOG", "g"),
            SeqOperator(PrimitiveEventStructure("AMZN", "h"),
                        PrimitiveEventStructure("BIDU", "i"))),
        TrueCondition(), timedelta(minutes=1))
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        [0.11, 0.2, 0.3, 0.4, 0.5, 0.11, 0.5, 0.2, 0.4]
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=OptimizerParameters(
            opt_type=OptimizerTypes.TRIVIAL_OPTIMIZER,
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE)),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)
    runTest("nestedAscending", [pattern], createTestFile, eval_params)
Пример #3
0
def nestedAscendingStructuralTest():
    pattern = Pattern(
        AndOperator(
            SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                        PrimitiveEventStructure("AMZN", "b")),
            SeqOperator(PrimitiveEventStructure("AVID", "c"),
                        PrimitiveEventStructure("BIDU", "d")),
            AndOperator(PrimitiveEventStructure("GOOG", "e"),
                        PrimitiveEventStructure("AAPL", "f")),
            PrimitiveEventStructure("GOOG", "g"),
            SeqOperator(PrimitiveEventStructure("AMZN", "h"),
                        PrimitiveEventStructure("BIDU", "i"))),
        TrueCondition(), timedelta(minutes=1))
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        [0.11, 0.2, 0.3, 0.4, 0.5, 0.11, 0.5, 0.2, 0.4]
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=OptimizerParameters(
            opt_type=OptimizerTypes.TRIVIAL_OPTIMIZER,
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE)),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)
    expected_result = ('And', ('And', ('And', ('And', 'g', ('Seq', 'a', 'b')),
                                       ('Seq', 'c', 'd')), ('And', 'e', 'f')),
                       ('Seq', 'h', 'i'))
    runStructuralTest('nestedAscendingStructuralTest', [pattern],
                      expected_result,
                      eval_mechanism_params=eval_params)
Пример #4
0
def frequencyTailoredPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("DRIV", "a"),
                    PrimitiveEventStructure("MSFT", "b"),
                    PrimitiveEventStructure("CBRL", "c")),
        AndCondition(
            GreaterThanCondition(Variable("a", lambda x: x["Opening Price"]),
                                 Variable("b", lambda x: x["Opening Price"])),
            GreaterThanCondition(Variable("b", lambda x: x["Opening Price"]),
                                 Variable("c", lambda x: x["Opening Price"]))),
        timedelta(minutes=360))
    # frequencyDict = {"MSFT": 256, "DRIV": 257, "CBRL": 1}
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        [0.01454418928322895, 0.016597077244258872, 0.012421711899791231]
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=StatisticsDeviationAwareOptimizerParameters(
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
            statistics_collector_params=StatisticsCollectorParameters(
                statistics_types=[StatisticsTypes.ARRIVAL_RATES])),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)

    runTest('frequencyTailored1', [pattern],
            createTestFile,
            eval_mechanism_params=eval_params,
            events=nasdaqEventStream)
Пример #5
0
def zStreamPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("MSFT", "a"),
                    PrimitiveEventStructure("DRIV", "b"),
                    PrimitiveEventStructure("ORLY", "c"),
                    PrimitiveEventStructure("CBRL", "d")),
        AndCondition(
            AndCondition(
                SmallerThanCondition(Variable("a", lambda x: x["Peak Price"]),
                                     Variable("b", lambda x: x["Peak Price"])),
                AndCondition(
                    SmallerThanCondition(
                        Variable("b", lambda x: x["Peak Price"]),
                        Variable("c", lambda x: x["Peak Price"])))),
            SmallerThanCondition(Variable("c", lambda x: x["Peak Price"]),
                                 Variable("d", lambda x: x["Peak Price"]))),
        timedelta(minutes=3))
    selectivityMatrix = [[1.0, 0.9457796098355941, 1.0, 1.0],
                         [0.9457796098355941, 1.0, 0.15989723367389616, 1.0],
                         [1.0, 0.15989723367389616, 1.0, 0.9992557393942864],
                         [1.0, 1.0, 0.9992557393942864, 1.0]]
    arrivalRates = [
        0.016597077244258872, 0.01454418928322895, 0.013917884481558803,
        0.012421711899791231
    ]
    pattern.set_statistics(
        StatisticsTypes.SELECTIVITY_MATRIX_AND_ARRIVAL_RATES,
        (selectivityMatrix, arrivalRates))
    eval_params = TreeBasedEvaluationMechanismParameters(
        TreePlanBuilderParameters(TreePlanBuilderTypes.ZSTREAM_BUSHY_TREE),
        DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.storage_params)
    runTest('zstream1', [pattern],
            createTestFile,
            eval_mechanism_params=eval_params,
            events=nasdaqEventStream)
Пример #6
0
def iiRandom2PatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("MSFT", "a"),
                    PrimitiveEventStructure("DRIV", "b"),
                    PrimitiveEventStructure("ORLY", "c"),
                    PrimitiveEventStructure("CBRL", "d")),
        AndCondition(
            SimpleCondition(Variable("a", lambda x: x["Peak Price"]),
                            Variable("b", lambda x: x["Peak Price"]),
                            Variable("c", lambda x: x["Peak Price"]),
                            Variable("d", lambda x: x["Peak Price"]),
                            relation_op=lambda x, y, z, w: x < y < z < w)),
        timedelta(minutes=3))
    selectivityMatrix = [[1.0, 0.9457796098355941, 1.0, 1.0],
                         [0.9457796098355941, 1.0, 0.15989723367389616, 1.0],
                         [1.0, 0.15989723367389616, 1.0, 0.9992557393942864],
                         [1.0, 1.0, 0.9992557393942864, 1.0]]
    arrivalRates = [
        0.016597077244258872, 0.01454418928322895, 0.013917884481558803,
        0.012421711899791231
    ]
    pattern.set_statistics(
        StatisticsTypes.SELECTIVITY_MATRIX_AND_ARRIVAL_RATES,
        (selectivityMatrix, arrivalRates))
    eval_params = TreeBasedEvaluationMechanismParameters(
        IterativeImprovementTreePlanBuilderParameters(
            DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.tree_plan_params.
            cost_model_type, 20, IterativeImprovementType.CIRCLE_BASED,
            IterativeImprovementInitType.RANDOM),
        DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.storage_params)

    runTest('iiRandom2', [pattern],
            createTestFile,
            eval_mechanism_params=eval_params,
            events=nasdaqEventStream)
Пример #7
0
def zStreamPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator([
            QItem("MSFT", "a"),
            QItem("DRIV", "b"),
            QItem("ORLY", "c"),
            QItem("CBRL", "d")
        ]),
        AndFormula(
            AndFormula(
                SmallerThanFormula(
                    IdentifierTerm("a", lambda x: x["Peak Price"]),
                    IdentifierTerm("b", lambda x: x["Peak Price"])),
                SmallerThanFormula(
                    IdentifierTerm("b", lambda x: x["Peak Price"]),
                    IdentifierTerm("c", lambda x: x["Peak Price"]))),
            SmallerThanFormula(IdentifierTerm("c", lambda x: x["Peak Price"]),
                               IdentifierTerm("d",
                                              lambda x: x["Peak Price"]))),
        timedelta(minutes=3))
    selectivityMatrix = [[1.0, 0.9457796098355941, 1.0, 1.0],
                         [0.9457796098355941, 1.0, 0.15989723367389616, 1.0],
                         [1.0, 0.15989723367389616, 1.0, 0.9992557393942864],
                         [1.0, 1.0, 0.9992557393942864, 1.0]]
    arrivalRates = [
        0.016597077244258872, 0.01454418928322895, 0.013917884481558803,
        0.012421711899791231
    ]
    pattern.set_statistics(
        StatisticsTypes.SELECTIVITY_MATRIX_AND_ARRIVAL_RATES,
        (selectivityMatrix, arrivalRates))
    runTest('zstream1', [pattern],
            createTestFile,
            eval_mechanism_type=EvaluationMechanismTypes.ZSTREAM_BUSHY_TREE,
            events=nasdaqEventStream)
Пример #8
0
def frequencyPatternSearch2Test(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("LOCM", "a"),
                    PrimitiveEventStructure("AMZN", "b"),
                    PrimitiveEventStructure("AAPL", "c")),
        AndCondition(
            SmallerThanCondition(Variable("a", lambda x: x["Opening Price"]),
                                 Variable("b", lambda x: x["Opening Price"])),
            SmallerThanCondition(Variable("b", lambda x: x["Opening Price"]),
                                 Variable("c", lambda x: x["Opening Price"]))),
        timedelta(minutes=5))
    pattern.set_statistics(
        {StatisticsTypes.ARRIVAL_RATES: [0.0076, 0.0153, 0.0159]})
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=StatisticsDeviationAwareOptimizerParameters(
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
            statistics_collector_params=StatisticsCollectorParameters(
                statistics_types=[StatisticsTypes.ARRIVAL_RATES])),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)

    runTest("frequency2", [pattern],
            createTestFile,
            eval_mechanism_params=eval_params)
Пример #9
0
def zstreamOrdNestedComplexStructuralTest():
    pattern = Pattern(
        AndOperator(
            SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                        PrimitiveEventStructure("AMZN", "b"),
                        PrimitiveEventStructure("DRIV", "c")),
            SeqOperator(PrimitiveEventStructure("LOCM", "d"),
                        PrimitiveEventStructure("GOOG", "e")),
            SeqOperator(
                PrimitiveEventStructure("AVID", "f"),
                PrimitiveEventStructure("BIDU", "g"),
                SeqOperator(PrimitiveEventStructure("ORLY", "h"),
                            PrimitiveEventStructure("CBRL", "i"))),
            PrimitiveEventStructure("MSFT", "j")),
        AndCondition(
            BinaryCondition(Variable("a", lambda x: x["Opening Price"]),
                            Variable("b", lambda x: x["Opening Price"]),
                            relation_op=lambda x, y: x > y),
            BinaryCondition(Variable("d", lambda x: x["Opening Price"]),
                            Variable("c", lambda x: x["Opening Price"]),
                            relation_op=lambda x, y: x > y),
            EqCondition(Variable("a", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("b", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("c", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("d", lambda x: x["Date"]), 200802010900)),
        timedelta(minutes=3))
    selectivityMatrix = [
        [1.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9],
        [0.1, 1.0, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19],
        [0.2, 0.12, 1.0, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29],
        [0.3, 0.13, 0.23, 1.0, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39],
        [0.4, 0.14, 0.24, 0.34, 1.0, 0.45, 0.46, 0.47, 0.48, 0.49],
        [0.5, 0.15, 0.25, 0.35, 0.45, 1.0, 0.56, 0.57, 0.58, 0.59],
        [0.6, 0.16, 0.26, 0.36, 0.46, 0.56, 1.0, 0.67, 0.68, 0.69],
        [0.7, 0.17, 0.27, 0.37, 0.47, 0.57, 0.67, 1.0, 0.78, 0.79],
        [0.8, 0.18, 0.28, 0.38, 0.48, 0.58, 0.68, 0.78, 1.0, 0.89],
        [0.9, 0.19, 0.29, 0.39, 0.49, 0.59, 0.69, 0.79, 0.89, 1.0]
    ]
    arrivalRates = [0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        arrivalRates,
        StatisticsTypes.SELECTIVITY_MATRIX:
        selectivityMatrix
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=OptimizerParameters(
            opt_type=OptimizerTypes.TRIVIAL_OPTIMIZER,
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.ORDERED_ZSTREAM_BUSHY_TREE)),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)
    expected_result = ('And', ('And', ('And', 'j', ('Seq', ('Seq', 'f', 'g'),
                                                    ('Seq', 'h', 'i'))),
                               ('Seq', 'd', 'e')), ('Seq', ('Seq', 'a', 'b'),
                                                    'c'))
    runStructuralTest('zstreamOrdNestedComplexStructuralTest', [pattern],
                      expected_result,
                      eval_mechanism_params=eval_params)
Пример #10
0
def frequencyPatternSearch3Test(createTestFile=False):
    pattern = Pattern(
        SeqOperator([
            QItem("AAPL", "a"),
            QItem("AAPL", "b"),
            QItem("AAPL", "c"),
            QItem("LOCM", "d")
        ]), TrueFormula(), timedelta(minutes=5))
    pattern.set_statistics(StatisticsTypes.FREQUENCY_DICT, {
        "AAPL": 460,
        "LOCM": 219
    })
    runTest("frequency3", [pattern], createTestFile,
            EvaluationMechanismTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE)
Пример #11
0
def iiGreedyNestedStructuralTest():
    pattern = Pattern(
        AndOperator(
            SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                        PrimitiveEventStructure("AMZN", "b")),
            SeqOperator(PrimitiveEventStructure("AVID", "c"),
                        PrimitiveEventStructure("BIDU", "d"))),
        AndCondition(
            BinaryCondition(Variable("a", lambda x: x["Opening Price"]),
                            Variable("b", lambda x: x["Opening Price"]),
                            relation_op=lambda x, y: x > y),
            BinaryCondition(Variable("d", lambda x: x["Opening Price"]),
                            Variable("c", lambda x: x["Opening Price"]),
                            relation_op=lambda x, y: x > y),
            EqCondition(Variable("a", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("b", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("c", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("d", lambda x: x["Date"]), 200802010900)),
        timedelta(minutes=3))
    selectivityMatrix = [[1.0, 0.9457796098355941, 1.0, 1.0],
                         [0.9457796098355941, 1.0, 0.15989723367389616, 1.0],
                         [1.0, 0.15989723367389616, 1.0, 0.9992557393942864],
                         [1.0, 1.0, 0.9992557393942864, 1.0]]
    arrivalRates = [
        0.016597077244258872, 0.01454418928322895, 0.013917884481558803,
        0.012421711899791231
    ]
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        arrivalRates,
        StatisticsTypes.SELECTIVITY_MATRIX:
        selectivityMatrix
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=OptimizerParameters(
            opt_type=OptimizerTypes.TRIVIAL_OPTIMIZER,
            tree_plan_params=IterativeImprovementTreePlanBuilderParameters(
                DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.optimizer_params.
                tree_plan_params.cost_model_type, 20,
                IterativeImprovementType.SWAP_BASED,
                IterativeImprovementInitType.GREEDY)),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)
    expected_result = ('And', ('Seq', 'b', 'a'), ('Seq', 'd', 'c'))
    runStructuralTest('iiGreedyNestedStructuralTest', [pattern],
                      expected_result,
                      eval_mechanism_params=eval_params)
Пример #12
0
def arrivalRatesPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                    PrimitiveEventStructure("AMZN", "b"),
                    PrimitiveEventStructure("LOCM", "c")),
        SimpleCondition(Variable("a", lambda x: x["Opening Price"]),
                        Variable("b", lambda x: x["Opening Price"]),
                        Variable("c", lambda x: x["Opening Price"]),
                        relation_op=lambda x, y, z: x > y > z),
        timedelta(minutes=5))
    pattern.set_statistics(StatisticsTypes.ARRIVAL_RATES,
                           [0.0159, 0.0153, 0.0076])
    eval_params = TreeBasedEvaluationMechanismParameters(
        TreePlanBuilderParameters(
            TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
        DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.storage_params)
    runTest("arrivalRates", [pattern], createTestFile, eval_params)
Пример #13
0
def frequencyPatternSearch3Test(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                    PrimitiveEventStructure("AAPL", "b"),
                    PrimitiveEventStructure("AAPL", "c"),
                    PrimitiveEventStructure("LOCM", "d")), TrueCondition(),
        timedelta(minutes=5))
    pattern.set_statistics(StatisticsTypes.FREQUENCY_DICT, {
        "AAPL": 460,
        "LOCM": 219
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        TreePlanBuilderParameters(
            TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
        DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.storage_params)
    runTest("frequency3", [pattern],
            createTestFile,
            eval_mechanism_params=eval_params)
Пример #14
0
def arrivalRatesPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(
            [QItem("AAPL", "a"),
             QItem("AMZN", "b"),
             QItem("LOCM", "c")]),
        AndFormula(
            GreaterThanFormula(
                IdentifierTerm("a", lambda x: x["Opening Price"]),
                IdentifierTerm("b", lambda x: x["Opening Price"])),
            GreaterThanFormula(
                IdentifierTerm("b", lambda x: x["Opening Price"]),
                IdentifierTerm("c", lambda x: x["Opening Price"]))),
        timedelta(minutes=5))
    pattern.set_statistics(StatisticsTypes.ARRIVAL_RATES,
                           [0.0159, 0.0153, 0.0076])
    runTest("arrivalRates", [pattern], createTestFile,
            EvaluationMechanismTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE)
Пример #15
0
def iiGreedy2PatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("MSFT", "a"),
                    PrimitiveEventStructure("DRIV", "b"),
                    PrimitiveEventStructure("ORLY", "c"),
                    PrimitiveEventStructure("CBRL", "d")),
        AndCondition(
            SmallerThanCondition(Variable("a", lambda x: x["Peak Price"]),
                                 Variable("b", lambda x: x["Peak Price"])),
            SmallerThanCondition(Variable("b", lambda x: x["Peak Price"]),
                                 Variable("c", lambda x: x["Peak Price"])),
            SmallerThanCondition(Variable("c", lambda x: x["Peak Price"]),
                                 Variable("d", lambda x: x["Peak Price"]))),
        timedelta(minutes=3))
    selectivityMatrix = [[1.0, 0.9457796098355941, 1.0, 1.0],
                         [0.9457796098355941, 1.0, 0.15989723367389616, 1.0],
                         [1.0, 0.15989723367389616, 1.0, 0.9992557393942864],
                         [1.0, 1.0, 0.9992557393942864, 1.0]]
    arrivalRates = [
        0.016597077244258872, 0.01454418928322895, 0.013917884481558803,
        0.012421711899791231
    ]
    pattern.set_statistics({
        StatisticsTypes.SELECTIVITY_MATRIX: selectivityMatrix,
        StatisticsTypes.ARRIVAL_RATES: arrivalRates
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=StatisticsDeviationAwareOptimizerParameters(
            tree_plan_params=IterativeImprovementTreePlanBuilderParameters(
                DEFAULT_TREE_COST_MODEL, 20,
                IterativeImprovementType.CIRCLE_BASED,
                IterativeImprovementInitType.GREEDY),
            statistics_collector_params=StatisticsCollectorParameters(
                statistics_types=[
                    StatisticsTypes.ARRIVAL_RATES,
                    StatisticsTypes.SELECTIVITY_MATRIX
                ])),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)

    runTest('iiGreedy2', [pattern],
            createTestFile,
            eval_mechanism_params=eval_params,
            events=nasdaqEventStream)
Пример #16
0
def greedyNestedTest(createTestFile=False):
    pattern = Pattern(
        AndOperator(
            SeqOperator(PrimitiveEventStructure("AAPL", "a"),
                        PrimitiveEventStructure("AMZN", "b")),
            SeqOperator(PrimitiveEventStructure("AVID", "c"),
                        PrimitiveEventStructure("BIDU", "d"))),
        AndCondition(
            BinaryCondition(Variable("a", lambda x: x["Opening Price"]),
                            Variable("b", lambda x: x["Opening Price"]),
                            relation_op=lambda x, y: x > y),
            BinaryCondition(Variable("d", lambda x: x["Opening Price"]),
                            Variable("c", lambda x: x["Opening Price"]),
                            relation_op=lambda x, y: x > y),
            EqCondition(Variable("a", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("b", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("c", lambda x: x["Date"]), 200802010900),
            EqCondition(Variable("d", lambda x: x["Date"]), 200802010900)),
        timedelta(minutes=3))
    selectivityMatrix = [[1.0, 0.9457796098355941, 1.0, 1.0],
                         [0.9457796098355941, 1.0, 0.15989723367389616, 1.0],
                         [1.0, 0.15989723367389616, 1.0, 0.9992557393942864],
                         [1.0, 1.0, 0.9992557393942864, 1.0]]
    arrivalRates = [
        0.016597077244258872, 0.01454418928322895, 0.013917884481558803,
        0.012421711899791231
    ]
    pattern.set_statistics({
        StatisticsTypes.ARRIVAL_RATES:
        arrivalRates,
        StatisticsTypes.SELECTIVITY_MATRIX:
        selectivityMatrix
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        optimizer_params=OptimizerParameters(
            opt_type=OptimizerTypes.TRIVIAL_OPTIMIZER,
            tree_plan_params=TreePlanBuilderParameters(
                TreePlanBuilderTypes.GREEDY_LEFT_DEEP_TREE)),
        storage_params=DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.
        storage_params)
    runTest('greedyNested', [pattern],
            createTestFile,
            eval_mechanism_params=eval_params,
            events=nasdaqEventStream)
Пример #17
0
def frequencyTailoredPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(
            [QItem("DRIV", "a"),
             QItem("MSFT", "b"),
             QItem("CBRL", "c")]),
        AndFormula(
            GreaterThanFormula(
                IdentifierTerm("a", lambda x: x["Opening Price"]),
                IdentifierTerm("b", lambda x: x["Opening Price"])),
            GreaterThanFormula(
                IdentifierTerm("b", lambda x: x["Opening Price"]),
                IdentifierTerm("c", lambda x: x["Opening Price"]))),
        timedelta.max)
    frequencyDict = {"MSFT": 256, "DRIV": 257, "CBRL": 1}
    pattern.set_statistics(StatisticsTypes.FREQUENCY_DICT, frequencyDict)
    runTest('frequencyTailored1', [pattern],
            createTestFile,
            eval_mechanism_type=EvaluationMechanismTypes.
            SORT_BY_FREQUENCY_LEFT_DEEP_TREE,
            events=nasdaqEventStream)
Пример #18
0
def frequencyTailoredPatternSearchTest(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("DRIV", "a"),
                    PrimitiveEventStructure("MSFT", "b"),
                    PrimitiveEventStructure("CBRL", "c")),
        AndCondition(
            GreaterThanCondition(Variable("a", lambda x: x["Opening Price"]),
                                 Variable("b", lambda x: x["Opening Price"])),
            GreaterThanCondition(Variable("b", lambda x: x["Opening Price"]),
                                 Variable("c", lambda x: x["Opening Price"]))),
        timedelta(minutes=360))
    frequencyDict = {"MSFT": 256, "DRIV": 257, "CBRL": 1}
    pattern.set_statistics(StatisticsTypes.FREQUENCY_DICT, frequencyDict)
    eval_params = TreeBasedEvaluationMechanismParameters(
        TreePlanBuilderParameters(
            TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
        DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.storage_params)
    runTest('frequencyTailored1', [pattern],
            createTestFile,
            eval_mechanism_params=eval_params,
            events=nasdaqEventStream)
Пример #19
0
def frequencyPatternSearch2Test(createTestFile=False):
    pattern = Pattern(
        SeqOperator(
            [QItem("LOCM", "a"),
             QItem("AMZN", "b"),
             QItem("AAPL", "c")]),
        AndFormula(
            SmallerThanFormula(
                IdentifierTerm("a", lambda x: x["Opening Price"]),
                IdentifierTerm("b", lambda x: x["Opening Price"])),
            SmallerThanFormula(
                IdentifierTerm("b", lambda x: x["Opening Price"]),
                IdentifierTerm("c", lambda x: x["Opening Price"]))),
        timedelta(minutes=5))
    pattern.set_statistics(StatisticsTypes.FREQUENCY_DICT, {
        "AAPL": 2,
        "AMZN": 3,
        "LOCM": 1
    })
    runTest("frequency2", [pattern], createTestFile,
            EvaluationMechanismTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE)
Пример #20
0
def frequencyPatternSearch2Test(createTestFile=False):
    pattern = Pattern(
        SeqOperator(PrimitiveEventStructure("LOCM", "a"),
                    PrimitiveEventStructure("AMZN", "b"),
                    PrimitiveEventStructure("AAPL", "c")),
        AndCondition(
            SmallerThanCondition(Variable("a", lambda x: x["Opening Price"]),
                                 Variable("b", lambda x: x["Opening Price"])),
            SmallerThanCondition(Variable("b", lambda x: x["Opening Price"]),
                                 Variable("c", lambda x: x["Opening Price"]))),
        timedelta(minutes=5))
    pattern.set_statistics(StatisticsTypes.FREQUENCY_DICT, {
        "AAPL": 2,
        "AMZN": 3,
        "LOCM": 1
    })
    eval_params = TreeBasedEvaluationMechanismParameters(
        TreePlanBuilderParameters(
            TreePlanBuilderTypes.SORT_BY_FREQUENCY_LEFT_DEEP_TREE),
        DEFAULT_TESTING_EVALUATION_MECHANISM_SETTINGS.storage_params)
    runTest("frequency2", [pattern],
            createTestFile,
            eval_mechanism_params=eval_params)