Create a scripts in Python (I suppose two), which will download data from Yahoo Finance and save it to CSV files and to MySQL.
You can use a library to download data from finance.yahoo.com.
The source is a TXT file with stock symbols (attached file – [login to view URL]).
I need to be able to set the start date and end date.
Downloaded data history is need to be modified / verified, especially replace the NA values. Replace NA items by lineraly smoothed replacement as described on page 41.
Save modified data in the following ways.
Script 1
1. CSV files
a. All Close from all stock symbols save to one CSV file
. First column will be date.
b. Each stock/symbol save in separate CSV file – filename – stock/symbol name. Save: Date, Open, High, Low, Close, Adjusted Close, Volume.
Script 2
2. MySQL
a. All Close from all stock symbols save in one table where the first column will be date
.
b. Each stock symbols save in own table – name – stock/symbol name.
Save: Date, Open, High, Low, Close, Adjusted Close, Volume.
For both variants (CSV, MySQL), I need to automatically add new data from Yahoo Finance. At a specific time, the script will download new data and add it to the historically downloaded data.
Additional NA may occur during the daily update at specific time. In this case, please replace NA with the last known value.
List of replaced items please save in a new file / table, where will be date and “assigned” value. Autoupdate.
In the appendix you will find the book "Automated Trading with R Quantitative Research and Platform Development" including codes in R. Everything is perfectly described in Part 2, Chapters 2 and 3.
Scripts have to be very well and detail commented for an absolute beginner in Python.
I need also description of commissioning and support.
I'm a beginner in Python and MySQL, so if the design is nonsensical, for example, if it is not possible to work with combinations of letters and numbers in the database, let me know in advance.
Hello, My name is Tomas, I have 2 years of experience working with financial data at S&P Global.
I understand your requirements, we can absolutely build something that fullfils your needs.
I only have 2 recommendations.
1-For the SQL database, you must not create a new table for every Symbol. Instead, you must create one table with the prices_as_of_date and each row should have a column that specifies to what symbol the price belongs to.
2- NA should not be replaced with best guesses in store. You should collect the data as it is reported. And it should be the repsonsibility of the reader of the data to provide best alternative values (For example by interpolating with linear smoothing from the previous and next values as you suggested in the csv, or by just using the previous value in the SQL table)
The best approach would be to skip all NA rows, just not adding them to the table.
The script can be built with the following library [login to view URL]
It will allow historical searches (slow) which will fetch all historic prices, and updates (fast) which will search only price updates since the script was last run.
Let me know if you have any question.
Regards, Tomas.
$100 USD in 3 days
3.6 (3 reviews)
1.9
1.9
9 freelancers are bidding on average $122 USD for this job
Hello Sir,
I checked your requirements and to be very spcific, I am very proficient working on python and happy t to help you working on yahoo apis. I can fetch data using yahoo apis and dump it into csv in different format. I am a full time freelancer and able to finish this work within certain time frame.
Thanks,
Rajdeep
I am an engineer and confident of what I can do and deliver. I can work on Arduino, Python, Matlab, among others. I am asking for a chance to work with you on your project. Thanks
Fortunately completed that type of task before.
I use HTML Agility Pack for scrapping the data from website.
If you have not constraint to use python script then i will complete all script using C#.and save data in CSV/MySQL and any other SQL based platform
I'm working on Visual Studio 2013 .
If you are bound to use python then this is not my work but if you are not then i will defiantly complete this work in 7 days. :)
Hope for best.
Muhammad Sohaib Nasir.