"Windowing Operator"

Vikas
Vikas New Altair Community Member
edited November 5 in Community Q&A
Hi Everyone

Can any one guide me about Windowing operator ,when we can use this and how can we decide the size of window?

Thanks
Vikas  :(

Answers

  • fxtrader2011
    fxtrader2011 New Altair Community Member
    I have problems with using the "Windowing" , "Sliding Window Validation" and "Forecast Performance" Operators.

    The PredictionTrendAccuracy is much too high.

    This is the XML Code for generating the Prediction.

    The PredictionTrendAccuracy  is always >0.8 and I think this is too high.

    Almost every Trade would be a success. Which parameter or Settings have to be changed that the Results will be more realistic ?

    I used the labeled Data from "Apply Model (2)" to test in a Java-Program the Prediction with a simulated Spread of 4 Pips per Trade to verify the Prediction Results from the Testing Data. The Results are not realistic.
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.1.004">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="5.1.004" expanded="true" name="Process">
        <parameter key="logverbosity" value="status"/>
        <process expanded="true" height="761" width="1020">
          <operator activated="true" class="read_csv" compatibility="5.1.004" expanded="true" height="60" name="Read CSV" width="90" x="45" y="75">
            <parameter key="csv_file" value="EURUSDtrain.csv"/>
            <parameter key="column_separators" value=","/>
            <parameter key="first_row_as_names" value="false"/>
            <list key="annotations">
              <parameter key="0" value="Name"/>
            </list>
            <list key="data_set_meta_data_information">
              <parameter key="0" value="count.true.integer.attribute"/>
              <parameter key="1" value="open.true.real.attribute"/>
              <parameter key="2" value="high.true.real.attribute"/>
              <parameter key="3" value="low.true.real.attribute"/>
              <parameter key="4" value="close.true.real.attribute"/>
            </list>
          </operator>
          <operator activated="true" class="set_role" compatibility="5.1.004" expanded="true" height="76" name="Set Role (2)" width="90" x="179" y="75">
            <parameter key="name" value="count"/>
            <parameter key="target_role" value="id"/>
            <list key="set_additional_roles"/>
          </operator>
          <operator activated="true" class="series:windowing" compatibility="5.1.001" expanded="true" height="76" name="Windowing" width="90" x="313" y="75">
            <parameter key="horizon" value="1"/>
            <parameter key="window_size" value="1"/>
            <parameter key="create_label" value="true"/>
            <parameter key="label_attribute" value="close"/>
          </operator>
          <operator activated="true" class="series:sliding_window_validation" compatibility="5.1.001" expanded="true" height="130" name="Validation" width="90" x="447" y="75">
            <parameter key="training_window_step_size" value="1"/>
            <parameter key="test_window_width" value="5"/>
            <process expanded="true" height="526" width="478">
              <operator activated="true" class="support_vector_machine" compatibility="5.1.004" expanded="true" height="112" name="SVM" width="90" x="249" y="133"/>
              <connect from_port="training" to_op="SVM" to_port="training set"/>
              <connect from_op="SVM" from_port="model" to_port="model"/>
              <portSpacing port="source_training" spacing="0"/>
              <portSpacing port="sink_model" spacing="0"/>
              <portSpacing port="sink_through 1" spacing="0"/>
            </process>
            <process expanded="true" height="526" width="478">
              <operator activated="true" class="apply_model" compatibility="5.1.004" expanded="true" height="76" name="Apply Model" width="90" x="45" y="120">
                <list key="application_parameters"/>
              </operator>
              <operator activated="true" class="series:forecasting_performance" compatibility="5.1.001" expanded="true" height="76" name="Performance" width="90" x="246" y="120">
                <parameter key="horizon" value="1"/>
              </operator>
              <connect from_port="model" to_op="Apply Model" to_port="model"/>
              <connect from_port="test set" to_op="Apply Model" to_port="unlabelled data"/>
              <connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/>
              <connect from_op="Performance" from_port="performance" to_port="averagable 1"/>
              <portSpacing port="source_model" spacing="0"/>
              <portSpacing port="source_test set" spacing="0"/>
              <portSpacing port="source_through 1" spacing="0"/>
              <portSpacing port="sink_averagable 1" spacing="0"/>
              <portSpacing port="sink_averagable 2" spacing="0"/>
              <portSpacing port="sink_averagable 3" spacing="0"/>
            </process>
          </operator>
          <operator activated="true" class="read_csv" compatibility="5.1.004" expanded="true" height="60" name="Read CSV (2)" width="90" x="45" y="210">
            <parameter key="csv_file" value="EURUSDtest.csv"/>
            <parameter key="column_separators" value=","/>
            <parameter key="first_row_as_names" value="false"/>
            <list key="annotations">
              <parameter key="0" value="Name"/>
            </list>
            <list key="data_set_meta_data_information">
              <parameter key="0" value="count.true.integer.attribute"/>
              <parameter key="1" value="open.true.real.attribute"/>
              <parameter key="2" value="high.true.real.attribute"/>
              <parameter key="3" value="low.true.real.attribute"/>
              <parameter key="4" value="close.true.real.attribute"/>
            </list>
          </operator>
          <operator activated="true" class="set_role" compatibility="5.1.004" expanded="true" height="76" name="Set Role (3)" width="90" x="179" y="210">
            <parameter key="name" value="count"/>
            <parameter key="target_role" value="id"/>
            <list key="set_additional_roles"/>
          </operator>
          <operator activated="true" class="series:windowing" compatibility="5.1.001" expanded="true" height="76" name="Windowing (2)" width="90" x="313" y="210">
            <parameter key="window_size" value="1"/>
            <parameter key="label_attribute" value="close"/>
          </operator>
          <operator activated="true" class="apply_model" compatibility="5.1.004" expanded="true" height="76" name="Apply Model (2)" width="90" x="581" y="300">
            <list key="application_parameters"/>
          </operator>
          <connect from_op="Read CSV" from_port="output" to_op="Set Role (2)" to_port="example set input"/>
          <connect from_op="Set Role (2)" from_port="example set output" to_op="Windowing" to_port="example set input"/>
          <connect from_op="Windowing" from_port="example set output" to_op="Validation" to_port="training"/>
          <connect from_op="Validation" from_port="model" to_op="Apply Model (2)" to_port="model"/>
          <connect from_op="Validation" from_port="training" to_port="result 1"/>
          <connect from_op="Validation" from_port="averagable 1" to_port="result 2"/>
          <connect from_op="Validation" from_port="averagable 2" to_port="result 3"/>
          <connect from_op="Read CSV (2)" from_port="output" to_op="Set Role (3)" to_port="example set input"/>
          <connect from_op="Set Role (3)" from_port="example set output" to_op="Windowing (2)" to_port="example set input"/>
          <connect from_op="Windowing (2)" from_port="example set output" to_op="Apply Model (2)" to_port="unlabelled data"/>
          <connect from_op="Apply Model (2)" from_port="labelled data" to_port="result 4"/>
          <portSpacing port="source_input 1" spacing="0"/>
          <portSpacing port="sink_result 1" spacing="0"/>
          <portSpacing port="sink_result 2" spacing="0"/>
          <portSpacing port="sink_result 3" spacing="0"/>
          <portSpacing port="sink_result 4" spacing="0"/>
          <portSpacing port="sink_result 5" spacing="0"/>
        </process>
      </operator>
    </process>

  • haddock
    haddock New Altair Community Member
  • fxtrader2011
    fxtrader2011 New Altair Community Member
    thank you for your fast answer, but my problem is, that the Prediction is too good.

    Is there any error in the XML-Process-Code, which could lead to unrealistic results ?

    The prediction is too perfect.

    e.g. that the horizon parameter has to be set to 0, or something else ....

    I think there is a error in the Preprocessing for the Learner, not the learner-configuration  ...
  • hi fxtrader2011
    the problem maybe your data.
    can you post the csv?