{
"cells": [
{
"cell_type": "markdown",
"id": "59d19f73",
"metadata": {},
"source": [
"# Analytics Example - Spark Routes - Contract Month Seasonality\n",
"\n",
"This script allows you to plot the price evolution & seasonality for a given route and month. In this case the route chosen is Sabine Pass to Futtsu via COGH.\n",
"\n",
"This script uses elements from our API code samples. If you'd like a more basic and informative example of how to pull data via the Spark API, please visit our Github or API website:\n",
"\n",
"- Github: https://github.com/spark-commodities/api-code-samples/blob/master/jupyter_notebooks/\n",
"- API Website: https://www.sparkcommodities.com/api/code-examples/jupyter.html\n",
"\n",
"\n",
"### Have any questions?\n",
"\n",
"If you have any questions regarding our API, or need help accessing specific datasets, please contact us at:\n",
"\n",
"__data@sparkcommodities.com__\n",
"\n",
"or refer to our API website for more information about this endpoint:\n",
"https://www.sparkcommodities.com/api/request/routes.html\n",
"\n",
"__N.B. This script requires a Freight subscription__"
]
},
{
"cell_type": "markdown",
"id": "9e00ae34",
"metadata": {},
"source": [
"## 1. Importing Data\n",
"\n",
"Here we define the functions that allow us to retrieve the valid credentials to access the Spark API.\n",
"\n",
"This section can remain unchanged for most Spark API users."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "f871831c",
"metadata": {},
"outputs": [],
"source": [
"# Importing libraries for calling the API\n",
"import json\n",
"import os\n",
"import sys\n",
"from base64 import b64encode\n",
"from urllib.parse import urljoin\n",
"\n",
"\n",
"try:\n",
" from urllib import request, parse\n",
" from urllib.error import HTTPError\n",
"except ImportError:\n",
" raise RuntimeError(\"Python 3 required\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "d9ea2c58",
"metadata": {},
"outputs": [],
"source": [
"# Defining functions for API request\n",
"\n",
"API_BASE_URL = \"https://api.sparkcommodities.com\"\n",
"\n",
"\n",
"def retrieve_credentials(file_path=None):\n",
" \"\"\"\n",
" Find credentials either by reading the client_credentials file or reading\n",
" environment variables\n",
" \"\"\"\n",
" if file_path is None:\n",
" client_id = os.getenv(\"SPARK_CLIENT_ID\")\n",
" client_secret = os.getenv(\"SPARK_CLIENT_SECRET\")\n",
" if not client_id or not client_secret:\n",
" raise RuntimeError(\n",
" \"SPARK_CLIENT_ID and SPARK_CLIENT_SECRET environment vars required\"\n",
" )\n",
" else:\n",
" # Parse the file\n",
" if not os.path.isfile(file_path):\n",
" raise RuntimeError(\"The file {} doesn't exist\".format(file_path))\n",
"\n",
" with open(file_path) as fp:\n",
" lines = [l.replace(\"\\n\", \"\") for l in fp.readlines()]\n",
"\n",
" if lines[0] in (\"clientId,clientSecret\", \"client_id,client_secret\"):\n",
" client_id, client_secret = lines[1].split(\",\")\n",
" else:\n",
" print(\"First line read: '{}'\".format(lines[0]))\n",
" raise RuntimeError(\n",
" \"The specified file {} doesn't look like to be a Spark API client \"\n",
" \"credentials file\".format(file_path)\n",
" )\n",
"\n",
" print(\">>>> Found credentials!\")\n",
" print(\n",
" \">>>> Client_id={}, client_secret={}****\".format(client_id, client_secret[:5])\n",
" )\n",
"\n",
" return client_id, client_secret\n",
"\n",
"\n",
"def do_api_post_query(uri, body, headers):\n",
" \"\"\"\n",
" OAuth2 authentication requires a POST request with client credentials before accessing the API. \n",
" This POST request will return an Access Token which will be used for the API GET request.\n",
" \"\"\"\n",
" url = urljoin(API_BASE_URL, uri)\n",
"\n",
" data = json.dumps(body).encode(\"utf-8\")\n",
"\n",
" # HTTP POST request\n",
" req = request.Request(url, data=data, headers=headers)\n",
" try:\n",
" response = request.urlopen(req)\n",
" except HTTPError as e:\n",
" print(\"HTTP Error: \", e.code)\n",
" print(e.read())\n",
" sys.exit(1)\n",
"\n",
" resp_content = response.read()\n",
"\n",
" # The server must return HTTP 201. Raise an error if this is not the case\n",
" assert response.status == 201, resp_content\n",
"\n",
" # The server returned a JSON response\n",
" content = json.loads(resp_content)\n",
"\n",
" return content\n",
"\n",
"\n",
"def do_api_get_query(uri, access_token):\n",
" \"\"\"\n",
" After receiving an Access Token, we can request information from the API.\n",
" \"\"\"\n",
" url = urljoin(API_BASE_URL, uri)\n",
"\n",
" headers = {\n",
" \"Authorization\": \"Bearer {}\".format(access_token),\n",
" \"Accept\": \"application/json\",\n",
" }\n",
"\n",
" # HTTP POST request\n",
" req = request.Request(url, headers=headers)\n",
" try:\n",
" response = request.urlopen(req)\n",
" except HTTPError as e:\n",
" print(\"HTTP Error: \", e.code)\n",
" print(e.read())\n",
" sys.exit(1)\n",
"\n",
" resp_content = response.read()\n",
"\n",
" # The server must return HTTP 201. Raise an error if this is not the case\n",
" assert response.status == 200, resp_content\n",
"\n",
" # The server returned a JSON response\n",
" content = json.loads(resp_content)\n",
"\n",
" return content\n",
"\n",
"\n",
"def get_access_token(client_id, client_secret):\n",
" \"\"\"\n",
" Get a new access_token. Access tokens are the thing that applications use to make\n",
" API requests. Access tokens must be kept confidential in storage.\n",
"\n",
" # Procedure:\n",
"\n",
" Do a POST query with `grantType` and `scopes` in the body. A basic authorization\n",
" HTTP header is required. The \"Basic\" HTTP authentication scheme is defined in\n",
" RFC 7617, which transmits credentials as `clientId:clientSecret` pairs, encoded\n",
" using base64.\n",
" \"\"\"\n",
"\n",
" # Note: for the sake of this example, we choose to use the Python urllib from the\n",
" # standard lib. One should consider using https://requests.readthedocs.io/\n",
"\n",
" payload = \"{}:{}\".format(client_id, client_secret).encode()\n",
" headers = {\n",
" \"Authorization\": b64encode(payload).decode(),\n",
" \"Accept\": \"application/json\",\n",
" \"Content-Type\": \"application/json\",\n",
" }\n",
" body = {\n",
" \"grantType\": \"clientCredentials\",\n",
" \"scopes\": \"read:prices,read:routes\",\n",
" }\n",
"\n",
" content = do_api_post_query(uri=\"/oauth/token/\", body=body, headers=headers)\n",
"\n",
" print(\n",
" \">>>> Successfully fetched an access token {}****, valid {} seconds.\".format(\n",
" content[\"accessToken\"][:5], content[\"expiresIn\"]\n",
" )\n",
" )\n",
"\n",
" return content[\"accessToken\"]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "fb27e003",
"metadata": {},
"outputs": [],
"source": [
"# Define function for listing routes from API\n",
"def list_routes(access_token):\n",
" \"\"\"\n",
" Fetch available routes. Return route ids and Spark price release dates.\n",
"\n",
" The URI used returns a list of all available Spark routes. With these routes, we can find the price breakdown of a specific route.\n",
"\n",
" # Procedure:\n",
"\n",
" Do a GET query to /v1.0/routes/ with a Bearer token authorization HTTP header.\n",
" \"\"\"\n",
" content = do_api_get_query(uri=\"/v1.0/routes/\", access_token=access_token)\n",
"\n",
" print(\">>>> All the routes you can fetch\")\n",
" tickers = []\n",
" for contract in content[\"data\"][\"routes\"]:\n",
" tickers.append(contract[\"uuid\"])\n",
"\n",
" reldates = content[\"data\"][\"sparkReleaseDates\"]\n",
"\n",
" dicto1 = content[\"data\"]\n",
"\n",
" return tickers, reldates, dicto1"
]
},
{
"cell_type": "markdown",
"id": "1e890e9e",
"metadata": {},
"source": [
"### N.B. Credentials\n",
"\n",
"N.B. You must have downloaded your client credentials CSV file before proceeding. Please refer to the API documentation if you have not dowloaded them already. Instructions for downloading your credentials can be found here:\n",
"\n",
"https://api.sparkcommodities.com/redoc#section/Authentication/Create-an-Oauth2-Client\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "51b8a89c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
">>>> Found credentials!\n",
">>>> Client_id=875f483b-19de-421a-8e9b-dceff6703e83, client_secret=6cdf8****\n",
">>>> Successfully fetched an access token eyJhb****, valid 604799 seconds.\n",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjoiYWNjZXNzVG9rZW4iLCJzdWIiOiI4NzVmNDgzYi0xOWRlLTQyMWEtOGU5Yi1kY2VmZjY3MDNlODMiLCJzdWJUeXBlIjoib2F1dGgtY2xpZW50IiwiZXhwIjoxNzM3NjM5Mzc4LCJoYXNoZWRTZWNyZXQiOiJwYmtkZjJfc2hhMjU2JDcyMDAwMCRORTBiMzh4T3IxV3duYUVMaXlIeGRoJHU4TStSTTZDMnR0UkhhdGt3RXNvUmJ0WThnamZWL0N0U1FTdGhyZy9tZlU9Iiwib3JnVXVpZCI6IjQ5MzhiMGJiLTVmMjctNDE2NC04OTM4LTUyNTdmYmQzNTNmZiIsInNjb3BlcyI6WyJyZWFkOnByaWNlcyIsInJlYWQ6cm91dGVzIl0sImNsaWVudFR5cGUiOiJvYXV0aC1jbGllbnQifQ.fLYRciKf6g7YED7u0BiWkOTTCvX45RJbm6aOFwhvJNg\n",
">>>> All the routes you can fetch\n"
]
}
],
"source": [
"## Input your file location here\n",
"client_id, client_secret = retrieve_credentials(file_path=\"/tmp/client_credentials.csv\")\n",
"\n",
"\n",
"# Authenticate:\n",
"access_token = get_access_token(client_id, client_secret)\n",
"print(access_token)\n",
"\n",
"# Fetch all contracts:\n",
"routes, reldates, dicto1 = list_routes(access_token)\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "2345f33a",
"metadata": {},
"source": [
"## 2. Describing available routes"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "e75c2b64",
"metadata": {},
"outputs": [],
"source": [
"# Store route characteristics as a DataFrame\n",
"\n",
"import pandas as pd\n",
"\n",
"def check_and_store_characteristics(dict1):\n",
" \"\"\"\n",
" # Store some of the route characteristics in lists, and check these lists are the same length\n",
" # N.B. these are not all the characteristics available!\n",
" # Check the Output of the raw dictionary (above) to see all available characteristics.\n",
" \"\"\"\n",
"\n",
" routes_info = {\n",
" \"UUID\": [],\n",
" \"Load Location\": [],\n",
" \"Discharge Location\": [],\n",
" \"Via\": [],\n",
" \"Load Region\": [],\n",
" \"Discharge Region\": [],\n",
" \"Load UUID\": [],\n",
" \"Discharge UUID\": []\n",
" }\n",
" for route in dict1[\"routes\"]:\n",
" \n",
" routes_info['UUID'].append(route[\"uuid\"])\n",
" routes_info['Via'].append(route[\"via\"])\n",
"\n",
" routes_info['Load UUID'].append(route[\"loadPort\"][\"uuid\"])\n",
" routes_info['Load Location'].append(route[\"loadPort\"][\"name\"])\n",
" routes_info['Load Region'].append(route[\"loadPort\"][\"region\"])\n",
"\n",
" routes_info['Discharge UUID'].append(route[\"dischargePort\"][\"uuid\"])\n",
" routes_info['Discharge Location'].append(route[\"dischargePort\"][\"name\"])\n",
" routes_info['Discharge Region'].append(route[\"dischargePort\"][\"region\"])\n",
" \n",
" \n",
" route_df = pd.DataFrame(routes_info)\n",
"\n",
" return route_df\n"
]
},
{
"cell_type": "markdown",
"id": "b53ee7af",
"metadata": {},
"source": [
"### Exploring the data\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "6db5808e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
UUID
\n",
"
Load Location
\n",
"
Discharge Location
\n",
"
Via
\n",
"
Load Region
\n",
"
Discharge Region
\n",
"
Load UUID
\n",
"
Discharge UUID
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
003a3297-b4ed-4c49-9ab2-65122c6f6de8
\n",
"
Sabine Pass
\n",
"
Stade
\n",
"
None
\n",
"
atlantic
\n",
"
atlantic
\n",
"
003dec0a-ce8f-41db-8c24-4d7ef6addf70
\n",
"
003b319e-b29e-4853-b4ee-85794d5bacba
\n",
"
\n",
"
\n",
"
1
\n",
"
003511be-a06d-407b-8d13-22a6ac99f59d
\n",
"
NWS
\n",
"
Ravenna
\n",
"
suez
\n",
"
pacific
\n",
"
atlantic
\n",
"
00381c87-4180-4430-80f1-bf828099124f
\n",
"
0030d930-6574-4049-a739-327a16620429
\n",
"
\n",
"
\n",
"
2
\n",
"
00376e89-c9a4-4d49-8100-43ec6ad89793
\n",
"
Ras Laffan
\n",
"
Gate
\n",
"
cogh
\n",
"
pacific
\n",
"
pacific
\n",
"
003f9d1b-b4ad-4de9-8c8d-bd7fbcacd3df
\n",
"
00348162-8284-447d-b641-1f06b9078fdd
\n",
"
\n",
"
\n",
"
3
\n",
"
003fb354-6fc4-406c-86d5-89c015d227a7
\n",
"
Hammerfest
\n",
"
Gate
\n",
"
None
\n",
"
atlantic
\n",
"
pacific
\n",
"
003f92ce-86d5-4d03-9761-311036c47812
\n",
"
00348162-8284-447d-b641-1f06b9078fdd
\n",
"
\n",
"
\n",
"
4
\n",
"
0034630c-1c15-42a0-8236-39a85ad929da
\n",
"
Hammerfest
\n",
"
Futtsu
\n",
"
panama
\n",
"
atlantic
\n",
"
pacific
\n",
"
003f92ce-86d5-4d03-9761-311036c47812
\n",
"
003c2da6-6a74-4e29-aef6-a789a747ac65
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" UUID Load Location Discharge Location \\\n",
"0 003a3297-b4ed-4c49-9ab2-65122c6f6de8 Sabine Pass Stade \n",
"1 003511be-a06d-407b-8d13-22a6ac99f59d NWS Ravenna \n",
"2 00376e89-c9a4-4d49-8100-43ec6ad89793 Ras Laffan Gate \n",
"3 003fb354-6fc4-406c-86d5-89c015d227a7 Hammerfest Gate \n",
"4 0034630c-1c15-42a0-8236-39a85ad929da Hammerfest Futtsu \n",
"\n",
" Via Load Region Discharge Region Load UUID \\\n",
"0 None atlantic atlantic 003dec0a-ce8f-41db-8c24-4d7ef6addf70 \n",
"1 suez pacific atlantic 00381c87-4180-4430-80f1-bf828099124f \n",
"2 cogh pacific pacific 003f9d1b-b4ad-4de9-8c8d-bd7fbcacd3df \n",
"3 None atlantic pacific 003f92ce-86d5-4d03-9761-311036c47812 \n",
"4 panama atlantic pacific 003f92ce-86d5-4d03-9761-311036c47812 \n",
"\n",
" Discharge UUID \n",
"0 003b319e-b29e-4853-b4ee-85794d5bacba \n",
"1 0030d930-6574-4049-a739-327a16620429 \n",
"2 00348162-8284-447d-b641-1f06b9078fdd \n",
"3 00348162-8284-447d-b641-1f06b9078fdd \n",
"4 003c2da6-6a74-4e29-aef6-a789a747ac65 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# We use the stored route characteristics to create the dataframe\n",
"route_df = check_and_store_characteristics(dicto1)\n",
"\n",
"# View the output\n",
"route_df.head()"
]
},
{
"cell_type": "markdown",
"id": "2854904d",
"metadata": {},
"source": [
"## 3. Analysing a Specific Route\n",
"\n",
"\n",
"Here we define the function that allows us to pull data for a specific route and release date.\n",
"\n",
"We then define a given route ID ('my_route') and release date ('my_release') below the function, and these values are printed out for the user to check the parameters."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "c7502772",
"metadata": {},
"outputs": [],
"source": [
"## Defining the function\n",
"\n",
"def fetch_route_data(access_token, ticker, release, congestion_laden= None, congestion_ballast= None):\n",
" \"\"\"\n",
" For a route, fetch then display the route details\n",
"\n",
" # Procedure:\n",
"\n",
" Do GET queries to https://api.sparkcommodities.com/v1.0/routes/{route_uuid}/\n",
" with a Bearer token authorization HTTP header.\n",
" \"\"\"\n",
"\n",
" query_params = \"?release-date={}\".format(release)\n",
" if congestion_laden is not None:\n",
" query_params += \"&congestion-laden-days={}\".format(congestion_laden)\n",
" if congestion_ballast is not None:\n",
" query_params += \"&congestion-ballast-days={}\".format(congestion_ballast)\n",
"\n",
" uri = \"/v1.0/routes/{}/{}\".format(ticker, query_params)\n",
" #print(uri)\n",
"\n",
" content = do_api_get_query(\n",
" uri=\"/v1.0/routes/{}/{}\".format(ticker, query_params),\n",
" access_token=access_token,\n",
" )\n",
"\n",
" my_dict = content[\"data\"]\n",
"\n",
" return my_dict\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "5240c5ea",
"metadata": {},
"source": [
"### Route Parameters"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "8d57eaef",
"metadata": {},
"outputs": [],
"source": [
"## Calling that function and storing the output\n",
"\n",
"# Here we store the entire dataset called from the API\n",
"\n",
"load = 'Sabine Pass'\n",
"discharge = 'Futtsu'\n",
"via = 'cogh'\n",
"\n",
"my_route = route_df[(route_df[\"Load Location\"] == load) & \\\n",
" (route_df[\"Discharge Location\"] == discharge) & \\\n",
" (route_df['Via'] == via)]['UUID'].values[0]\n"
]
},
{
"cell_type": "markdown",
"id": "178b1572",
"metadata": {},
"source": [
"### Historical Routes Data Import, Storage in Dataframe and Grouping by Contract Month"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "4dcf31db",
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"import datetime as dt\n",
"\n",
"def routes_history(tick, reldates, laden=None, ballast=None):\n",
" \n",
" my_route = {\n",
" \"Period\": [],\n",
" \"Start Date\": [],\n",
" \"End Date\": [],\n",
" \"Total Cost USD\": [],\n",
" \"Cost USDperMMBtu\": [],\n",
" \"Hire USDperMMBtu\": [],\n",
" \"Fuel USDperMMBtu\": [],\n",
" \"Port USDperMMBtu\": [],\n",
" \"Canal USDperMMBtu\": [],\n",
" \"Congestion USDperMMBtu\": [],\n",
" \"Release Date\": [],\n",
" \"Cal Month\":[],\n",
" }\n",
"\n",
" for r in reldates:\n",
" try:\n",
" my_dict = fetch_route_data(access_token, tick, release=r, congestion_laden=laden, congestion_ballast=ballast)\n",
" except:\n",
" print('Bad Date: ' + r)\n",
" \n",
" for data in my_dict[\"dataPoints\"]:\n",
" my_route['Start Date'].append(data[\"deliveryPeriod\"][\"startAt\"])\n",
" my_route['End Date'].append(data[\"deliveryPeriod\"][\"endAt\"])\n",
" my_route['Period'].append(data[\"deliveryPeriod\"][\"name\"])\n",
"\n",
" my_route['Total Cost USD'].append(data[\"costsInUsd\"][\"total\"])\n",
" my_route['Cost USDperMMBtu'].append(data[\"costsInUsdPerMmbtu\"][\"total\"])\n",
"\n",
" my_route['Hire USDperMMBtu'].append(data[\"costsInUsdPerMmbtu\"][\"hire\"])\n",
" my_route['Fuel USDperMMBtu'].append(data[\"costsInUsdPerMmbtu\"][\"fuel\"])\n",
" my_route['Port USDperMMBtu'].append(data[\"costsInUsdPerMmbtu\"][\"port\"])\n",
" my_route['Canal USDperMMBtu'].append(data[\"costsInUsdPerMmbtu\"][\"canal\"])\n",
" \n",
" try:\n",
" my_route['Congestion USDperMMBtu'].append(data[\"costsInUsdPerMmbtu\"][\"congestion\"])\n",
" except:\n",
" my_route['Congestion USDperMMBtu'].append(0)\n",
"\n",
" my_route['Release Date'].append(r)\n",
" my_route['Cal Month'].append(dt.datetime.strptime(data[\"deliveryPeriod\"][\"startAt\"], '%Y-%m-%d').strftime('%b%y'))\n",
"\n",
" \n",
" # Sleep function is used to avoid API rate limiting.\n",
" time.sleep(0.2)\n",
" \n",
" my_route_df = pd.DataFrame(my_route)\n",
"\n",
"\n",
" ## Changing the data type of these columns from 'string' to numbers.\n",
" ## This allows us to easily plot a forward curve, as well as perform statistical analysis on the prices.\n",
" for col in [\"Total Cost USD\",\"Cost USDperMMBtu\",\"Hire USDperMMBtu\",\"Fuel USDperMMBtu\",\"Port USDperMMBtu\",\"Canal USDperMMBtu\",\"Congestion USDperMMBtu\"]:\n",
" my_route_df[col] = pd.to_numeric(my_route_df[col])\n",
" \n",
" ## Changing the data types to pandas datetime\n",
" for col in ['Release Date', 'Start Date', 'End Date']:\n",
" my_route_df[col] = pd.to_datetime(my_route_df[col])\n",
"\n",
" my_route_df['Time Diff'] = (my_route_df['Release Date'] - my_route_df['Start Date']).dt.days\n",
" \n",
" return my_route_df\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "64e930b9",
"metadata": {},
"outputs": [],
"source": [
"# Calling function to get historical data\n",
"# Here we call all historical data\n",
"histdf = routes_history(my_route, reldates[:], laden =None, ballast=None)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "6bcccb90",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Period
\n",
"
Start Date
\n",
"
End Date
\n",
"
Total Cost USD
\n",
"
Cost USDperMMBtu
\n",
"
Hire USDperMMBtu
\n",
"
Fuel USDperMMBtu
\n",
"
Port USDperMMBtu
\n",
"
Canal USDperMMBtu
\n",
"
Congestion USDperMMBtu
\n",
"
Release Date
\n",
"
Cal Month
\n",
"
Time Diff
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Spot (Physical)
\n",
"
2025-01-30
\n",
"
2025-03-01
\n",
"
6196734
\n",
"
1.702
\n",
"
0.536
\n",
"
1.087
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-15
\n",
"
Jan25
\n",
"
-15
\n",
"
\n",
"
\n",
"
1
\n",
"
M+1
\n",
"
2025-02-01
\n",
"
2025-02-28
\n",
"
6142998
\n",
"
1.687
\n",
"
0.524
\n",
"
1.084
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-15
\n",
"
Feb25
\n",
"
-17
\n",
"
\n",
"
\n",
"
2
\n",
"
M+2
\n",
"
2025-03-01
\n",
"
2025-03-31
\n",
"
6028231
\n",
"
1.656
\n",
"
0.490
\n",
"
1.087
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-15
\n",
"
Mar25
\n",
"
-45
\n",
"
\n",
"
\n",
"
3
\n",
"
M+3
\n",
"
2025-04-01
\n",
"
2025-04-30
\n",
"
6020274
\n",
"
1.653
\n",
"
0.484
\n",
"
1.090
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-15
\n",
"
Apr25
\n",
"
-76
\n",
"
\n",
"
\n",
"
4
\n",
"
M+4
\n",
"
2025-05-01
\n",
"
2025-05-31
\n",
"
6117736
\n",
"
1.680
\n",
"
0.507
\n",
"
1.094
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-15
\n",
"
May25
\n",
"
-106
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Period Start Date End Date Total Cost USD Cost USDperMMBtu \\\n",
"0 Spot (Physical) 2025-01-30 2025-03-01 6196734 1.702 \n",
"1 M+1 2025-02-01 2025-02-28 6142998 1.687 \n",
"2 M+2 2025-03-01 2025-03-31 6028231 1.656 \n",
"3 M+3 2025-04-01 2025-04-30 6020274 1.653 \n",
"4 M+4 2025-05-01 2025-05-31 6117736 1.680 \n",
"\n",
" Hire USDperMMBtu Fuel USDperMMBtu Port USDperMMBtu Canal USDperMMBtu \\\n",
"0 0.536 1.087 0.079 0.0 \n",
"1 0.524 1.084 0.079 0.0 \n",
"2 0.490 1.087 0.079 0.0 \n",
"3 0.484 1.090 0.079 0.0 \n",
"4 0.507 1.094 0.079 0.0 \n",
"\n",
" Congestion USDperMMBtu Release Date Cal Month Time Diff \n",
"0 0 2025-01-15 Jan25 -15 \n",
"1 0 2025-01-15 Feb25 -17 \n",
"2 0 2025-01-15 Mar25 -45 \n",
"3 0 2025-01-15 Apr25 -76 \n",
"4 0 2025-01-15 May25 -106 "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Preview of the data\n",
"histdf.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "2bc3b91c",
"metadata": {},
"outputs": [],
"source": [
"# Define functon to calculate the \"Day of Year\" number for each datapoint. \n",
"# Y-1 datapoints are offset by 365 days, and Y-2 by 730 days, so that timeseries can be plotted in a single, trackable graph.\n",
"def sort_years(df):\n",
" \n",
" reldates = df['Release Date'].to_list()\n",
" startdates = df['Start Date'].to_list()\n",
"\n",
" dayofyear = []\n",
" \n",
" for r in reldates:\n",
" ir = reldates.index(r)\n",
" if r.year - startdates[ir].year == -1:\n",
" dayofyear.append(r.timetuple().tm_yday - 365)\n",
" elif r.year - startdates[ir].year == -2:\n",
" dayofyear.append(r.timetuple().tm_yday - 730)\n",
" else:\n",
" dayofyear.append(r.timetuple().tm_yday)\n",
" \n",
" df['Day of Year'] = dayofyear\n",
"\n",
" return df"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "93fff09c",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/v3/5pn2lssn077ch9xm2rttdmym0000gn/T/ipykernel_17742/1516422094.py:19: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" df['Day of Year'] = dayofyear\n",
"/var/folders/v3/5pn2lssn077ch9xm2rttdmym0000gn/T/ipykernel_17742/1516422094.py:19: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" df['Day of Year'] = dayofyear\n",
"/var/folders/v3/5pn2lssn077ch9xm2rttdmym0000gn/T/ipykernel_17742/1516422094.py:19: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" df['Day of Year'] = dayofyear\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Period
\n",
"
Start Date
\n",
"
End Date
\n",
"
Total Cost USD
\n",
"
Cost USDperMMBtu
\n",
"
Hire USDperMMBtu
\n",
"
Fuel USDperMMBtu
\n",
"
Port USDperMMBtu
\n",
"
Canal USDperMMBtu
\n",
"
Congestion USDperMMBtu
\n",
"
Release Date
\n",
"
Cal Month
\n",
"
Time Diff
\n",
"
Day of Year
\n",
"
\n",
" \n",
" \n",
"
\n",
"
9
\n",
"
M+9
\n",
"
2025-10-01
\n",
"
2025-10-31
\n",
"
8317314
\n",
"
2.284
\n",
"
1.151
\n",
"
1.054
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-15
\n",
"
Oct25
\n",
"
-259
\n",
"
15
\n",
"
\n",
"
\n",
"
35
\n",
"
M+9
\n",
"
2025-10-01
\n",
"
2025-10-31
\n",
"
8373988
\n",
"
2.300
\n",
"
1.151
\n",
"
1.070
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-14
\n",
"
Oct25
\n",
"
-260
\n",
"
14
\n",
"
\n",
"
\n",
"
61
\n",
"
M+9
\n",
"
2025-10-01
\n",
"
2025-10-31
\n",
"
8162349
\n",
"
2.242
\n",
"
1.151
\n",
"
1.012
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-13
\n",
"
Oct25
\n",
"
-261
\n",
"
13
\n",
"
\n",
"
\n",
"
87
\n",
"
M+9
\n",
"
2025-10-01
\n",
"
2025-10-31
\n",
"
8146387
\n",
"
2.238
\n",
"
1.146
\n",
"
1.013
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-10
\n",
"
Oct25
\n",
"
-264
\n",
"
10
\n",
"
\n",
"
\n",
"
113
\n",
"
M+9
\n",
"
2025-10-01
\n",
"
2025-10-31
\n",
"
8160352
\n",
"
2.242
\n",
"
1.146
\n",
"
1.017
\n",
"
0.079
\n",
"
0.0
\n",
"
0
\n",
"
2025-01-09
\n",
"
Oct25
\n",
"
-265
\n",
"
9
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Period Start Date End Date Total Cost USD Cost USDperMMBtu \\\n",
"9 M+9 2025-10-01 2025-10-31 8317314 2.284 \n",
"35 M+9 2025-10-01 2025-10-31 8373988 2.300 \n",
"61 M+9 2025-10-01 2025-10-31 8162349 2.242 \n",
"87 M+9 2025-10-01 2025-10-31 8146387 2.238 \n",
"113 M+9 2025-10-01 2025-10-31 8160352 2.242 \n",
"\n",
" Hire USDperMMBtu Fuel USDperMMBtu Port USDperMMBtu Canal USDperMMBtu \\\n",
"9 1.151 1.054 0.079 0.0 \n",
"35 1.151 1.070 0.079 0.0 \n",
"61 1.151 1.012 0.079 0.0 \n",
"87 1.146 1.013 0.079 0.0 \n",
"113 1.146 1.017 0.079 0.0 \n",
"\n",
" Congestion USDperMMBtu Release Date Cal Month Time Diff Day of Year \n",
"9 0 2025-01-15 Oct25 -259 15 \n",
"35 0 2025-01-14 Oct25 -260 14 \n",
"61 0 2025-01-13 Oct25 -261 13 \n",
"87 0 2025-01-10 Oct25 -264 10 \n",
"113 0 2025-01-09 Oct25 -265 9 "
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Group DataFrame by Contract Month\n",
"groups = histdf.groupby('Cal Month')\n",
"\n",
"# Calling the sorting function, and defining which contract months we want to compare\n",
"m25 = groups.get_group('Oct25')\n",
"m24 = groups.get_group('Oct24')\n",
"m23 = groups.get_group('Oct23')\n",
"\n",
"m25 = sort_years(m25)\n",
"m24 = sort_years(m24)\n",
"m23 = sort_years(m23)\n",
"\n",
"# Viewing one example of the output\n",
"m25.head()"
]
},
{
"cell_type": "markdown",
"id": "eb1d3734",
"metadata": {},
"source": [
"## 4. Plotting"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "6e96c572",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/v3/5pn2lssn077ch9xm2rttdmym0000gn/T/ipykernel_17742/2958652340.py:30: UserWarning: set_ticklabels() should only be used with a fixed number of ticks, i.e. after set_ticks() or using a FixedLocator.\n",
" plt.gca().set_yticklabels(['$ {:,.0f}'.format(x) for x in current_values])\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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kFfQTZZlXHnllVi+fLnXOb7++msMGDAg7EE3gBlvREREEVdZW+VVXupLnbUBlbVVyM/M6Z1NERERERGF2aFDh/DEE0/gqquuwt13343a2lr3fQkJCZg1axamT5+Op556CtOnT8cnn3yC9957D6tWrQIAlJWVYdWqVZg1axZuuOEG1NTUuI83GAwwGo246qqr8M9//hMjR47EmDFjsHXrVqxatQqPPPJIrzxHBt6IiIgirMHaFNJ1RERERESx4P3334fT6cSmTZuwadMmr/umT5+OP/3pT3juueewZMkSrF69GllZWViyZAkmTZoEAFi/fj2A9kmmL7/8stfx9913HxYsWIBFixbBZDLh6aefxqlTp5CVlYVHHnkEM2fO7JXnyMAbERFRhKXqk0O6joiIiIgoFtxzzz245557/K6ZPHkyJk+e7PO+xYsXY/HixX6Pj4uLw7333ot777036H32BHu8ERERRVheRjbS9Sl+16TrU5GXkd07GyIiIiIiopBg4I2IiCjCRFHEnEL/qe5zCmeEfdQ5ERERERGFFn+CJyIiigLFWQVYVDIfOo33qPN0fSoWlcxHcVZBhHZGRERERETBYo83IiKiKFGcVYAtg3di27FyAMCjl/8S+QNymOlGRERERBSj+JM8ERFRFGl1trr/nJM+kkE3IiIiIqIYxp/miYiIoojZbnH/2Sk5I7gTIiIiIiLqKQbeiIiIokiL42zGW5urLYI7ISIiIiKinmLgjYiIKIqYPQJvDomBNyIiIiKiWMbAGxERUZRoc7XB1mb3+JqlpkREREREsYyBNyIioijhWWYKAE5mvBERERFRH9fY2IjHHnsMkydPRmFhIX784x9j586d7vu3bt2Km2++GePGjcO1116Ld9991+v4kydP4v7770dJSQmKioowb948fPfddz4fy+Fw4IYbbsBDDz0U1ufkiYE3IiKiKGHuGHhjjzciIiIi6uPuv/9+VFRU4Omnn8a6deuQl5eHefPm4eDBgzhw4ADuvvtuXHrppXjzzTcxY8YM/OY3v8HWrVsBtAfS5s+fj5qaGqxYsQKvvfYajEYjZs+ejfr6+k6P9X//93/Yv39/rz6/uF59NCIiIupSi9078NbGjDciIiIi6sOOHDmCLVu24LXXXsP48eMBAI8++ig+++wz/Oc//0FdXR1yc3OxcOFCAMCoUaPw7bff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BVG0owdu9Pbbb2PlypWIiYlBp06dMGvWLIcXV/i///s/fPPNN/jxxx8RGhrqcB+OHDmCiooKh/cjIiIiIiIiIiIXEo3wKciCUK6B6K9EVWgEIFQXYPn+mYmAQ+thT0SmiZ+IyvDedp/Wz88PcXFxDbbz6Io3AHjuuecwatQorFy5Ev/73/+wbds2jB8/Hm+//Tak0oZLAD/77DN8/vnnePHFFxsVutXUpUsXyOXyJh2DnE+n0+HChQu8P16A98p78F55F94v78F75fl4jzwb74/34L3yHrxX3oX3qy51BGYxMShVCCj7NbXBI0RE9ra74u3MmTN298zjgzcASExMhNFoRFRUFKKjo/Hss8+iT58+9Q45FUURixcvxrJly/DYY4/V29ZecrkcCoWiycch1+D98R68V96D98q78H55D94rz8d75Nl4f7wH75X34L3yLrxf9pPfcDcuHvnJYjhqbdJANYJ7Jtg9x5u9w0wBQGJ3SzfIzs7Gli1bzF8LgoAxY8ZgxIgR+PXXX+vcr7KyErNmzcKHH36IuXPn4l//+lcz9JaIiIiIiIiIiDyJIJGizS0P19sm7OZklyysAHh48Jaeno4ZM2bg/PnzFtvz8vLqXNUUAGbPno2tW7diwYIFePDBB13bSSIiIiIiIiIi8lgB0YPQLmkWpCq1xXZpoBrtkmYhIHqQy87t0UNNR40ahTZt2mDOnDm44447UFRUhEWLFuHQoUOYPXu2zX1SU1OxZcsWzJ49GwMGDEBubq75NZVKZbHaKRERERERERERtXwB0YOgiEyEPisTBk0hpMoQyCJiXFbpZuLRwVtAQABWrFiBefPmYd68eQCA7t27Y+nSpejXr5/NfTZv3gwAeOedd/DOO+9YvPbmm29i8uTJru00ERERERERERF5HEEihbxzbLOe06ODNwCIjIzE6tWrkZaWhoyMDDz11FP1tl+xYkUz9YyIiIiIiIiIiKhuHh+8mXTq1MmhVSOIiIiIiIiIiIjcyauCt06dOrm7G0RERERERERERHbx6FVNiYiIiIiIiIiIvBWDNyIiIiIiIiIiIhdg8EZEREREREREROQCDN6IiIiIiIiIiIhcgMEbERERERERERGRCzB4IyIiIiIiIiIicgEGb0RERERERERERC7A4I2IiIiIiIiIiMgFGLwRERERERERERG5AIM3IiIiIiIiIiIiF2DwRkRERERERERE5AIM3oiIiIiIiIiIiFyAwRsREREREREREZELCKIoiu7uhKc7ePAgRFGEr68vBEFwd3eoFlEUUVlZyfvjBXivvAfvlXfh/fIevFeej/fIs/H+eA/eK+/Be+VdeL88Q0VFBQRBQL9+/Rps69MM/fF6pm9mflN7JkEQ4Ofn5+5ukB14r7wH75V34f3yHrxXno/3yLPx/ngP3ivvwXvlXXi/PIMgCHZnRKx4IyIiIiIiIiIicgHO8UZEREREREREROQCDN6IiIiIiIiIiIhcgMEbERERERERERGRCzB4IyIiIiIiIiIicgEGb0RERERERERERC7A4I2IiIiIiIiIiMgFGLwRERERERERERG5AIM3IiIiIiIiIiIiF2DwRkRERERERERE5AIM3oiIiIiIiIiIiFyAwRsREREREREREZELMHgjIiIiIiIiIiJygVYbvM2dOxfx8fE4f/681Wu5ubkYMGAAnn322XqP8fLLL2POnDmu6mKLNmrUKERFReHTTz+1+frLL7+MqKgovP/++y45/x9//IGoqCjs27fPJcdvLdx9H6nxoqKikJqa6vS2rdGmTZswZcoUJCQkoG/fvkhKSsLXX3/t1HMUFhZi3bp1Tj1mbXPmzMH999/v0nO426hRozBq1ChoNBqr1zz9+u+//34+czSCM573avriiy9w0003IT4+HlOnTsXx48ed2d0Wy93PC3zucw5330dqGj77OQef+6gxWnXwFhQUhJdffhmiKFq89tprr0Eul+Pll1+2ua/RaMR7772HNWvWNEdXWyxfX19s27bNantVVRW2b98OQRDc0CtyFO8jtWbffPMNXnnlFUyZMgXr169HSkoKJk2ahHnz5mHp0qVOO88777yDTZs2Oe14rdnly5fxzjvvuLsb1Eya8rxX2/r16/HOO+/gn//8J1JTU9GpUyc89NBDKCgocEXXWxw+L7QMvI/UmvG5jxqr1QZvgYGBeO2115Ceno61a9eat2/btg07duzAG2+8gcDAQKv9zp49i6lTp2LdunUIDw9vzi63OIMHD8bvv/+Oq1evWmxPS0uDQqFAhw4d3NQzcgTvI7VmX375JZKSkvC3v/0NXbt2Rbdu3XD//ffjwQcfxOrVq512ntqBATVeREQE1qxZg71797q7K9QMGvO8V1dl1Icffoj77rsPEyZMQI8ePfDGG29ALpe7vCqhpeDzQsvA+0itGZ/7qLFabfAGADfeeCMmTJiA+fPnIy8vDxqNBv/3f/+HqVOnYujQoTb3SUtLQ/fu3bF582Z06tSpmXvcssTHxyM8PBxbt2612L5lyxaMHTvW4i9m69atw/jx4xEfH4+EhARMnToVR44cMb8+atQovP3227jtttswcOBApKenQxRFrFq1Crfccgvi4+Mxbtw4bN682eJchw4dwp133onY2FjcdNNNSElJce1Ft0DOuo+rVq1C3759odPpzO2NRiNGjBiBL774onkuphV6//33MWrUqAa3AUBBQQFiY2OxYcMGi+0LFixAUlKSK7vpsSQSCX777TcUFxdbbJ8+fbq5KrqiogLz58/H8OHD0bdvX0yZMgW//PKLuW1qaipGjBiBtWvXYtiwYejbty+eeOIJZGdnA6geCrB+/Xqkp6cjKioKQPUD2ccff4ybbroJffr0wcSJEy3+Mrpv3z706tULO3bsMP8OnDZtGv7880/MmzcP/fv3x+DBg7Fs2TKLfldVVeH//u//0K9fPwwcOBCvvfYaysvLza9nZ2djxowZ6N+/PwYOHIh//OMfuHDhgvn1OXPm4Omnn0ZycjL69euHjz/+2DlvtBNNmDABgwcPxgsvvGBzyCkAFBUV4dVXX8XIkSMRHx+Pu+++2xzEZGVlITo6Gj///LPFPnPnzsU999wDwL57fvPNN+Prr7/GDTfcgD59+uDpp59GdnY2nn32WfTt2xcjRozAN998Y3GOsrIyzJw5E3369MGwYcOwZMkSGI1G8+tnz57Fo48+ir59+2LYsGGYOXMmcnNzza/ff//9eOmll3DnnXeif//+reav6Y153qstPz8fFy5cwODBg83bfHx80L9/f2RkZLiq6y0Kn/taBj73eT8++zUen/u877nPU7Tq4A0AXnzxRchkMsyfPx+LFy9GQEAAZs2aVWf7e++9F6+//jrUanUz9rLlGjt2rMV/uCsqKvDDDz9g3Lhx5m07duzAa6+9hkceeQTff/89Vq5cifLycrz44osWx/r888/x4osv4r///S8SEhLw3//+FwsXLsQjjzyCzZs34+6778bs2bORlpZm3mfVqlV47LHHsGXLFgwfPhwvvvgiLl686PoLb2GccR/Hjx+PyspKbN++3bzP3r17UVhYiNtvv735LobqFBoa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/IFeoVAgJycHWVlZUKlUuPvuu7F48WJs3LgRWVlZ+OabbzB//ny0bdu2Sdf0559/4vnnn8fp06exbds2vP/++3jkkUfg5+eHCRMmICgoCE8//TQOHTqEs2fPYs6cOdi1a5f5L+re6M4778SwYcPMD8DDhg1DTEwMZs6cifT0dJw9exavvfYaTp06hQceeMC8X//+/dGhQwcsWbIEEydOND/49uzZ0+577qiDBw9i/vz5OHv2LNatW4cvv/wSjz/+OIDqYS2lpaV49tlnceLECZw4cQIzZszAkSNHLIbNUsNOnjyJgQMHWm1PTk7Gp59+ivXr1+PMmTN4/vnnodfr8be//c0NvfRefO5rGfjc59n47Od8fO5rGc997sKhpuQRxo4di2XLluG2226zeu2ll17Cyy+/jPvuuw9+fn6Ijo7GO++8Y/5A0b9/f5vHvO+++6DX67F48WLk5uaiS5cuWLhwIQYMGGCe64Ocyxn3sUuXLujTpw+MRqPVX0+pcYYPH445c+bg/fffR15eHiIjI7Fs2TIolUoMGjQITz31FFasWIElS5ZgxIgRePrpp80rJdZl8uTJOHjwYKt/SP7Xv/6FLl26YO3atfjiiy+g1+sRHh6OsWPH4u9//zuA6pWoFi5ciJdffhnFxcW47rrr8Prrr1u9d+PHj8f06dNRUVGBUaNG4YUXXjD/xdNUEXD77bdj+/btmDt3LkJCQrB48WLk5OSgQ4cOePrpp/HII4806XpuuukmSKVSTJkyBXK5HPfcc4852FGpVPj888/xzjvv4OGHH4bBYEDv3r2xYsUKr/9ZNQ05BaorMFasWIG3334bTz75JCoqKhAbG4uVK1ciISHBYr877rgDixcvtlrZzd577qg777wTFy5cwB133IHQ0FDMnDnTfO6IiAh8/vnnWLBgAe655x5IpVL069cPq1evRmhoaJPOS9WmTJmC0tJSLFq0CEVFRYiNjcWnn37K97cR+NzXMvC5z3Px2c81+NzXMp773EEQObEBEXkQURQxevRo/OMf/8Cdd97p7u5QHd5//33s3bsXX331lbu74vVSU1Mxd+5ci+XdiYiIWgM+93kPPvs5B5/7WidWvBGRR6isrMT//vc/pKWlQavV2hy2QO534MABnD9/HqtXr7aa6JqIiIjIHnzu8x589iNqOgZvROQRfH19zUtwz58/32K1HPIcP/74Iz7//HMkJSVh7Nix7u4OEREReSE+93kPPvsRNR2HmhIREREREREREbkAVzUlIiIiIiIiIiJyAQZvRERERERERERELsDgjYiIiIiIiIiIyAUYvBEREREREREREbkAgzciIiIi8npcL4yIiIg8kY+7O0BERETUGtx///1IT0+32CYIAhQKBbp06YIHHngAEydOdOiYo0aNwoABA/DWW285s6suk5qairlz51ps8/PzQ5s2bTB06FA88cQTaN++vUPHrKiowLvvvovY2FhMmDDBmd0lIiIiajIGb0RERETNpFevXnjllVfMXxsMBly9ehUrV67E7NmzERwcjJEjR7qxh81j6dKlaNOmDQBAp9Ph9OnTWL58OX744QesWbMG1113nd3HysnJwapVq/Dmm2+6qrtEREREjcbgjYiIiKiZKJVKJCQkWG0fMWIEBg8ejNTU1FYRvMXExKBTp07mrwcPHoxRo0Zh8uTJeOWVV/Dpp5+6sXdEREREzsM53oiIiIjczN/fH35+fhAEwbzNaDRi+fLluPnmmxEbG4tbbrkFn332Wb3HKS8vxzvvvIORI0ciNjYW48ePx5YtWyza6PV6LFiwAGPGjEFsbCz69euHhx56CJmZmeY2BQUFmDlzJoYOHYq4uDhMnDgRGzZssDjOlStX8Mwzz2DAgAHo06cPHnjgARw/frzR70GnTp1w1113Ye/evbh06ZJ5+w8//ICpU6eib9++iI2Nxa233oovvvgCAPDHH3/gpptuAgDMnTsXo0aNMu+3f/9+3HfffejTpw8GDBiA5557DgUFBY3uHxEREVFjMHgjIiIiaiaiKKKqqsr8v/Lycpw7dw5z585FWVmZxRxv//73v7FkyRJMmDABH374IW699Va88cYb+M9//lPnsZ944gl8/fXXeOihh7Bs2TL07dsXM2bMsAjNZs+ejZSUFEyfPh0rVqzA3Llzcfr0acycOdO8QMGsWbNw9uxZvPrqq/j444/Rq1cvPPfcc0hLSwNQHczdfffdOHbsGF566SUsWLAARqMR9957L86ePdvo92fo0KEAgAMHDgAAfvrpJzzxxBPo3bs3PvjgA7z//vuIiIjAa6+9hkOHDqFt27ZYunQpAOCxxx4z/zsjIwMPPvggZDIZFi1ahOeffx7p6emYNm0a9Hp9o/tHRERE5CgONSUiIiJqJhkZGejdu7fFNkEQEBkZicWLF+PGG28EAJw/fx5r167FM888g+nTpwMAhg0bBkEQ8NFHH2Hq1KkICQmxOM7evXuxe/duLFy4ELfddhsAYPjw4dDpdHj33Xdx++23w2g0oqysDC+++KK5zYABA6DRaPDWW28hLy8Pbdq0QXp6Op544gmMHj3a3CY4OBh+fn4AgFWrVqGoqAhfffUVOnbsCKB6uOxtt92GxYsXY8mSJY16f0zzvuXm5gIAzpw5gzvuuAMvvPCCuU3fvn0xcOBA7Nu3D3369EFMTAwA4LrrrkOvXr0AAAsWLEDXrl3x0UcfQSqVAgD69OmDcePGISUlBffee2+j+kdERETkKAZvRERERM2kd+/eePXVVwFULwqwaNEiVFZWYtGiRejWrZu5XVpaGkRRxKhRo1BVVWXePmrUKCxbtgwHDhwwh2Imv/76KwRBwMiRI6322bRpE06fPo2YmBh88sknAIDs7GycP38eFy5cwI8//gigeoVQABg4cCDef/99HD9+HMOHD8fIkSPx3HPPWZwrJiYG7dq1M59LIpFgxIgR2LRpU6PfH1PFnWnI7SOPPAIAKCsrw/nz53Hp0iUcOXLEoq+16XQ6HDp0CA8//LC5whAAIiIi0L17d+zZs4fBGxERETUbBm9EREREzSQgIABxcXHmr/v06YMJEyYgOTkZqampCA0NBQAUFRUBAMaNG2fzONnZ2VbbioqKIIoi+vXrZ3OfnJwcxMTEYPfu3XjjjTdw7tw5BAQEIDo6GgqFAsC14GvhwoX48MMP8f3332Pbtm2QSCQYMmQIXnvtNXTs2BFFRUW4ePGiVfWeiU6ng1wut+9NqeHq1asAgPbt2wOoHtL6yiuv4IcffoAgCOjcuTP69+9v0dfaSkpKYDQa8fHHH+Pjjz+2et3f39/hfhERERE1FoM3IiIiIjcJCwvDyy+/jH/+8594/fXXsWDBAgBAYGAggOohnQEBAVb7hYeHW21TqVRQKBRYvXq1zXN17twZly5dMg8h/eijjxAREQFBEPDFF19g9+7dFseaNWsWZs2ahXPnzmHnzp344IMP8Oqrr2L58uVQqVQYMGAAZs+ebfNcpiGpjtq7dy8EQTCHa88++yzOnTuHlStXom/fvvDz84NOp8PatWvrPEZAQAAEQcCDDz5oM7hsTCBIRERE1FhcXIGIiIjIjW699VYMHz4cmzdvRnp6OgCYg6fCwkLExcWZ/1dQUIDFixebK+JqGjBgALRaLURRtNjn1KlT+M9//oOqqiocPXoU5eXlmD59Oq677jrzkE5T6CaKIi5fvoyRI0di69atAIBu3brh0UcfxZAhQ3DlyhXzuc6fP4+uXbtanGvjxo345ptvzPOqOeLq1atYt24dbrjhBnTo0AFA9SILY8aMwcCBA81h3q5duwBUr/oKwOpcSqUSvXr1wrlz5yz61rNnT7z//vvYt2+fw30jIiIiaixWvBERERG52fPPP48JEyZg3rx5WL9+PaKiojBhwgS89NJLuHz5MmJjY3H+/HksXLgQnTp1QpcuXayOMXLkSCQmJuLxxx/H448/ju7du+Pw4cNYsmQJhg8fjtDQUPTu3Rs+Pj6YP38+kpOTUVFRgdTUVPz0008AAK1Wi6ioKLRv3x7z5s2DRqPBddddh6NHj+Lnn3/G3//+dwDAgw8+iI0bN+LBBx9EcnIyQkJCsGXLFqxduxZz585t8HozMzORl5cHoHpY6smTJ7Fy5UrIZDK8/PLL5nbx8fH49ttv0bt3b7Rv3x4HDx7E8uXLIQgCdDodgOrqPKB63rnu3bujT58+5kUpZs6ciQkTJsBgMGDFihU4dOgQHn/88abcKiIiIiKHCGJdE2QQERERkdPcf//9AIDPPvvM5utvv/02VqxYgZdeegn33Xcfqqqq8NFHH2H9+vW4evUq1Go1brzxRvzrX/9CcHAwgOqFEwYMGIC33noLQHVwtnjxYmzduhX5+flo164dxo0bhyeeeMI8t9nWrVuxdOlSXLp0CUFBQUhISMC0adNw//3346WXXsK9996L3NxcvPfee/jll19QWFiIDh06ICkpCdOnT4dEUj1g4tKlS1iwYAF+/fVXlJeXo0uXLrj//vvxt7/9rc73IDU11SqY8/X1RceOHTFixAhMnz7dvLIpAFy+fBn/93//h/379wMAunTpgmnTpmHTpk0oKirCN998AwB46623sGbNGvj6+mLPnj3w9fXFr7/+iqVLl+Lo0aPw9fVF79698dRTT5mrCYmIiIiaA4M3IiIiIiIiIiIiF+Acb0RERERERERERC7A4I2IiIiIiIiIiMgFGLwRERERERERERG5AIM3IiIiIiIiIiIiF2DwRkRERERERERE5AIM3oiIiIiIiIiIiFyAwRsREREREREREZELMHgjIiIiIiIiIiJyAQZvRERERERERERELsDgjYiIiIiIiIiIyAUYvBEREREREREREbnA/wNPOXp6de3VKAAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Plotting\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"sns.set_style()\n",
"sns.set_theme(style=\"whitegrid\")\n",
"\n",
"fig, ax = plt.subplots(figsize=(15, 7))\n",
"\n",
"ax.scatter(m25[\"Day of Year\"], m25[\"Cost USDperMMBtu\"])\n",
"ax.scatter(m24[\"Day of Year\"], m24[\"Cost USDperMMBtu\"])\n",
"ax.scatter(m23[\"Day of Year\"], m23[\"Cost USDperMMBtu\"])\n",
"\n",
"ax.plot(m25[\"Day of Year\"], m25[\"Cost USDperMMBtu\"], label='2025')\n",
"ax.plot(m24[\"Day of Year\"], m24[\"Cost USDperMMBtu\"], label='2024')\n",
"ax.plot(m23[\"Day of Year\"], m23[\"Cost USDperMMBtu\"], label='2023')\n",
"\n",
"plt.xlabel(\"Release Date\")\n",
"plt.ylabel(\"Cost in USD/MMBtu\")\n",
"\n",
"# Setting custom x-axis ticks location and labels.\n",
"#xlabels = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'Year End']\n",
"xlabels = ['Y-1', 'March', 'May', 'July', 'September', 'November', 'Y+0', 'March', 'May', 'July', 'September', 'November', 'Year End']\n",
"\n",
"# xpos gives the first day of every other month in terms of 'day of year'\n",
"#xpos = [0,32,60,91,121,152,182,213,244,274,305,335, 365]\n",
"xpos = [-365,-305,-244,-183,-121,-60,0,60,121,182,244,305,365]\n",
"\n",
"current_values = plt.gca().get_yticks()\n",
"plt.gca().set_yticklabels(['$ {:,.0f}'.format(x) for x in current_values])\n",
"\n",
"plt.xticks(xpos, xlabels)\n",
"\n",
"plt.xlim(-365,max([m25[\"Day of Year\"].max(), m24[\"Day of Year\"].max(), m23[\"Day of Year\"].max()])+10)\n",
"\n",
"# Setting the graph legend\n",
"plt.legend()\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}