Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.

Options Volatility Training SVM Operators

jinghe_xiaojinghe_xiao Member Posts: 3 Contributor I
edited November 2018 in Help

I am new in RapidMiner and trying to run training model traing for historical volatility. I really don't know how to improve the accuracy rate because the highest I can get are only 60.6%. But after adding index series, all of sudden improved to 83.7%. I believe there must be something wrong. Can any expert tell me where I did something wrong because I am trying playing around to improve the accuracy rate for options volatility.

 

 

 

<?xml version="1.0" encoding="UTF-8"?><process version="7.4.000">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.4.000" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="retrieve" compatibility="7.4.000" expanded="true" height="68" name="Retrieve Sugar3Yrs_5153050" width="90" x="45" y="85">
<parameter key="repository_entry" value="../data/Sugar3Yrs_5153050"/>
</operator>
<operator activated="true" class="set_role" compatibility="7.4.000" expanded="true" height="82" name="Set Role" width="90" x="179" y="85">
<parameter key="attribute_name" value="日期"/>
<parameter key="target_role" value="id"/>
<list key="set_additional_roles">
<parameter key="HV5" value="label"/>
</list>
</operator>
<operator activated="true" class="series:windowing" compatibility="7.4.000" expanded="true" height="82" name="Windowing" width="90" x="313" y="85">
<parameter key="window_size" value="5"/>
<parameter key="create_label" value="true"/>
<parameter key="label_attribute" value="HV5"/>
<parameter key="stop_on_too_small_dataset" value="false"/>
</operator>
<operator activated="true" class="series:index_series" compatibility="7.4.000" expanded="true" height="82" name="Index Series" width="90" x="447" y="85">
<parameter key="attribute_name" value="label"/>
</operator>
<operator activated="true" class="series:sliding_window_validation" compatibility="7.4.000" expanded="true" height="124" name="Validation" width="90" x="581" y="85">
<parameter key="training_window_width" value="5"/>
<parameter key="training_window_step_size" value="1"/>
<parameter key="test_window_width" value="5"/>
<parameter key="cumulative_training" value="true"/>
<process expanded="true">
<operator activated="true" class="support_vector_machine" compatibility="7.4.000" expanded="true" height="124" name="SVM" width="90" x="112" y="34">
<parameter key="convergence_epsilon" value="0.007"/>
</operator>
<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">
<operator activated="true" class="apply_model" compatibility="7.4.000" expanded="true" height="82" name="Apply Model" width="90" x="112" y="34">
<list key="application_parameters"/>
</operator>
<operator activated="true" class="series:forecasting_performance" compatibility="7.4.000" expanded="true" height="82" name="Performance" width="90" x="313" y="34">
<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"/>
</process>
</operator>
<connect from_op="Retrieve Sugar3Yrs_5153050" from_port="output" to_op="Set Role" to_port="example set input"/>
<connect from_op="Set Role" from_port="example set output" to_op="Windowing" to_port="example set input"/>
<connect from_op="Windowing" from_port="example set output" to_op="Index Series" to_port="example set input"/>
<connect from_op="Index Series" from_port="example set output" to_op="Validation" to_port="training"/>
<connect from_op="Validation" from_port="training" to_port="result 1"/>
<connect from_op="Validation" from_port="averagable 1" to_port="result 2"/>
<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"/>
</process>
</operator>
</process>

 

Tagged:

Best Answer

  • Thomas_OttThomas_Ott RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,761 Unicorn
    Solution Accepted

    I wrote an extensive process on predicting historical volatility for the S&P500 options, with optimization I got around the high 60's, low 70's. 

     

    What I see off the bat is that you're using a Dot kernel for the SVM. You'll need to use an RBF kernel and vary the gamma and C values while simultaneously adjust the window traning and testing widths. 

Answers

  • jinghe_xiaojinghe_xiao Member Posts: 3 Contributor I
    Hi Thomas,

    Finally can have you here. I did watch all of your video posted previously and very useful to me. Thank you for your advice and will try on it.
  • jinghe_xiaojinghe_xiao Member Posts: 3 Contributor I

    Sorry Thomas, If let's say I found a good result, what should I do to predict next 5 days volatility? Could you please further advise?

  • Thomas_OttThomas_Ott RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,761 Unicorn

    Yes, you sure can. 

     

    Here's a link to my old Blot blog where I auto optimized my Volatility prediction process in RapidMiner and then autogenerated the blog post with images: http://neuralmarket.blot.im/2016-06-06-sandp500-historical-vol-prediction

     

     

     

     

     

     

     

Sign In or Register to comment.