The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here

"Windowing Operator"

VikasVikas Member Posts: 12 Contributor II
edited May 2019 in Help
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  :(
Tagged:

Answers

  • fxtrader2011fxtrader2011 Member Posts: 2 Contributor I
    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>

  • haddockhaddock Member Posts: 849 Maven
  • fxtrader2011fxtrader2011 Member Posts: 2 Contributor I
    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  ...
  • fritmorefritmore Member Posts: 90 Contributor II
    hi fxtrader2011
    the problem maybe your data.
    can you post the csv?
Sign In or Register to comment.