Skip to content

Instantly share code, notes, and snippets.

@crtradeworks
Created June 17, 2015 15:59
Show Gist options
  • Save crtradeworks/a090ad8fc084dae1098e to your computer and use it in GitHub Desktop.
Save crtradeworks/a090ad8fc084dae1098e to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"raw_mimetype": "text/html",
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# This project is to implement volatility for Trading Symbol Selection.\n",
"\n",
"Data source here is the MT4 exported csv file with trading time, Open, High, Low, Close and volume. For production, the data source could be from database."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"\"\"\"\n",
"Volatility with EWMA model, Python\n",
"\"\"\"\n",
"\n",
"# Import some Python standard libraries\n",
"import csv\n",
"import math\n",
"from datetime import datetime\n",
"# Import 3rd party package Numpy\n",
"import numpy\n",
"\n",
"# Import data from csv files, read data\n",
"EURUSDreader = csv.reader(open('EURUSD.csv'))\n",
"\n",
"EURUSD = []\n",
"for line in EURUSDreader:\n",
"\tEURUSD.append(line)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following Input is for data preparation, mainly to get time data series (EURUSD_Time) and Close price data series (EURUSD_Close)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Time data processing\n",
"EURUSD_Time = []\n",
"for row in EURUSD:\n",
"\tEURUSD_Time.append(datetime.strptime((row[0] + \" \" + row[1]), \"%Y.%m.%d %H:%M\"))\n",
"\n",
"# Price and volume data processing\n",
"EURUSD_Open = []\n",
"for row in EURUSD:\n",
"\tEURUSD_Open.append(float(row[2]))\n",
"\n",
"EURUSD_High = []\n",
"for row in EURUSD:\n",
"\tEURUSD_High.append(float(row[3]))\n",
"\n",
"EURUSD_Low = []\n",
"for row in EURUSD:\n",
"\tEURUSD_Low.append(float(row[4]))\n",
"\n",
"EURUSD_Close = []\t\n",
"for row in EURUSD:\n",
"\tEURUSD_Close.append(float(row[5]))\n",
"\n",
"EURUSD_Volume = []\n",
"for row in EURUSD:\n",
"\tEURUSD_Volume.append(float(row[6]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use Close price data series to calculate and get Return series of the Forex. The volatility calculation is based on Return data series.\n",
"\n",
"To calculate Return series data, I create an empty list \"EURUSD_Return\", \n",
"\n",
"then loop through EURUSD_Close, the Return of each item can be got from two agjacent Close price: Return_i = log_e(Close_i+1) - log_e(Close_i)\n",
"\n",
"Then I append each Return item into the list EURUSD_Return."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Rate of return calculation\n",
"EURUSD_Return = []\n",
"\n",
"for index in (range(len(EURUSD_Close) - 1)):\n",
"\ttemp = math.log(EURUSD_Close[index + 1]) - math.log(EURUSD_Close[index])\n",
"\tEURUSD_Return.append(temp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use standard deviation to show volatility, as a comparison for later method."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.00128620478494\n"
]
}
],
"source": [
"# Volatility using standard deviation, the function is from the 3rd party package \"Numpy\"\n",
"sd_EURUSD = numpy.std(EURUSD_Return)\t\n",
"\n",
"print sd_EURUSD"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use EWMA model to calculate volatility, to show users the recent volatility condition of the Forex product, more accurate than standard deviation.\n",
"\n",
"For Java reference:\n",
"\n",
"https://github.com/dropwizard/metrics/blob/master/metrics-core/src/main/java/com/codahale/metrics/EWMA.java\n",
"http://grepcode.com/file/repo1.maven.org/maven2/com.codahale.metrics/metrics-core/3.0.1/com/codahale/metrics/EWMA.java"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Volatility using Exponetial Weighted Moving Average model, with the \"Pandas\" package\n",
"import pandas # Import a 3rd party package \"Pandas\"\n",
"\n",
"\n",
"# Function of EWMA Volatility\n",
"def FX_Volatility(FX_Close_raw, FX_Time, starting_time, ending_time):\n",
"\t\"\"\"\n",
"\tInput data as FX_Close price series 1-dimension list, starting time and ending time.\n",
"\tUse EWMA model to calculate volatility and return the volatility value.\n",
"\t\"\"\"\n",
"\tindex_1 = FX_Time.index(starting_time)\n",
"\tindex_2 = FX_Time.index(ending_time) + 1\n",
"\tFX_Close = FX_Close_raw[index_1 : index_2]\n",
"\n",
"\n",
"\tFX_Return = []\n",
"\n",
"\tfor index in (range(len(FX_Close) - 1)):\n",
"\t\ttemp = math.log(FX_Close[index + 1]) - math.log(FX_Close[index])\n",
"\t\tFX_Return.append(temp)\n",
"\n",
"\tFX_ReturnSeries = pandas.Series(FX_Return)\n",
"\tEWMA = pandas.stats.moments.ewma(FX_ReturnSeries, (2/0.94-1))\n",
"\n",
"\treturn EWMA[len(EWMA)-1]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.000439327583636\n"
]
}
],
"source": [
"Volatility_example = FX_Volatility(EURUSD_Close, EURUSD_Time, datetime(2014, 01, 01, 23, 0), datetime(2015, 04, 01, 07, 0))\n",
"print Volatility_example"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.0119323335189\n"
]
}
],
"source": [
"# Another EWMA test\n",
"EURUSD_ReturnSeries = pandas.Series(EURUSD_Return)\n",
"EWMA_1 = pandas.stats.moments.ewma(EURUSD_ReturnSeries, (2/0.94-1))\n",
"\n",
"print EWMA_1[len(EWMA_1)-1]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes.AxesSubplot at 0x7f65869cc110>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f65869bed90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"EWMA_1.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment