Sunday, October 29, 2023

Yahoo Finance Futures Contracts Historical Data

Futures data downloaded from yahoo finance are not adjusted as continuous contracts. When you download futures data from Yahoo Finance or many other financial data sources, the data is typically provided on a contract-by-contract basis, and it is not automatically adjusted as continuous contracts. Continuous contracts are constructed by rolling over from one contract to the next when the current contract expires. To create a continuous contract from individual contract data, you'll need to implement a custom rolling algorithm that accounts for the roll date and the price adjustment. The main steps involved in creating a continuous contract are as follows: 
 - Data Retrieval: Obtain historical futures data for each individual contract from a data source. 
 - Roll Date Detection: Determine the roll dates, which indicate when you should switch from one contract to the next. Roll dates can be based on various criteria, such as volume, open interest, or a specific calendar date. 
 - Price Adjustment: Apply price adjustments to account for the difference between the expiring contract and the new one. 
 Common price adjustments include:
- Percentage Price Adjustment: Adjust prices based on the percentage change in the new contract's settlement price compared to the old contract's settlement price. 
- Price Ratio Adjustment: Adjust prices based on the ratio of the new contract's price to the old contract's price. 
 - Dollar Value Adjustment: Adjust prices based on the change in dollar value between the two contracts. 
 - Combine Data: Combine the adjusted data from each individual contract to create a continuous price series. 
 Constructing continuous contracts is a non-trivial task and can be complex due to variations in contract specifications, roll rules, and price adjustments for different futures markets. 
There are software libraries and tools available that can assist in this process, such as QuantLib and the Python library roll-contract-continuous. 
 Additionally, you may consider using dedicated data providers or services that offer continuous contract data to save you the effort of manually constructing them. These services often provide accurate and reliable continuous contract data for various futures markets. 

Saturday, October 7, 2023

Python: Regularities at beginning/end of month

An example in Python to create 2 columns: - ascending from 1st day of month - and descending from last day of month using intraday data 10 minutes timeframe. Useful to explore regularities around end/beginning of month. I don't know if there is a more efficient way of doing this. If anyone has a proposal please share. After many and many tentatives ChatGPT did it almost right....😁 #Pyhton #pythonprogramming #100DaysOfCode

Yahoo Finance Futures Contracts Historical Data

Futures data downloaded from yahoo finance are not adjusted as continuous contracts. When you download futures data from Yahoo Finance or ma...