Joined: |
Jul 17, 2018 01:31 PM |
Last Post: |
Sep 11, 2018 12:51 PM |
Last Visit: |
Sep 27, 2018 10:59 PM |
Website: |
|
Location: |
|
Occupation: |
|
Interests: |
|
|
AIM: |
|
ICQ: |
|
MSN IM: |
|
Yahoo IM: |
|
|
AK786 has contributed to 21 posts out of 21251 total posts
(0.10%) in 2,335 days (0.01 posts per day).
20 Most recent posts:
@bigjake - if you are writing code in C#, try using Mathieu P C# Service. https://github.com/mathpaquette/IQFeed.CSharpApiClient
To Avoid Time Out,
1. Alternatively, request 1 day of tick data and loop -
2. Alternatively, have upto 15 requests simulataneously to request Tick Data
IMO IQfeed is a great product, i had to figure things out through trial and error.
AK786
To all IQFeed Forum Readers,
i just wanted to share that I have been using Matt P. (IQfeed Csharp Client) and its phenomenal. Tick Data download for all US Equities (Approx 8000) can get done within 15 mins / each day. Options data download which can have over a million queries for entire dataset - lightning fast even. I downloaded all US Equity Options for 6 months which has "Expired" + "Recently Traded" Options.
The Live Data Client runs on super low CPU and memory. Check out his code, he has saved me tons of time. I am very grateful to him for responding to my queries almost immediately and resolving minor bugs if any.
Thank you Matt P. and all his IQFeed github contributors.
AK786
Thank you J - you are correct,
Tim,
Regarding this - I was making a mistake at my end. This issue is resolved.
Please let me know about the other situation related to last trade date (after expiration) - its still not a problem, if its a system issue at your end.
Thanks
AK
**** Also another question is how Far Options History do you carry, i tried requesting Options Tick Data between <OptionsBeginDate value= "20180501"/> <OptionsEndDate value= "20180713"/>
for all options in (From the above attached file) for Equity Symbol AAPL and i did not get a single data tick data history ***
AK786
Also another question is how Far Options History do you carry, i tried requesting Options Tick Data between <OptionsBeginDate value= "20180501"/> <OptionsEndDate value= "20180713"/>
for all options in (From the above attached file) for Equity Symbol AAPL and i did not get a single data tick data history
AK786
Tim,
This is WRT the post from: *** Posted: Aug 7, 2018 08:32 AM Quote Post Reply To Post Msg. 22 of 33 Actually, the expiration date is the blank field, the other date is the last traded date.
I'll correct the email above to be accurate. Expiration can be inferred from the symbol, but we will look into that prior to release as well.
Tim ***
I parsed out Sample Data from the IEOptions File from 20150101 to 20180713
Somehow, for the a Large Number of Options, The Last Traded Date is after the Expiration Date.
Can you kindly explain how that might have happened.
Please see attached. I know you will be generating the latest IEOptions FIle tomm, so I wanted to make sure your efforts do not go to waste.
Thank you
AK786
Thank you very much, your help is very much appreciated. Very satisfied with IQFeed Service.
AK786
Tim,
This message is with reference to your post from: *** Posted: Aug 2, 2018 07:35 AM Quote Post Reply To Post Msg. 18 of 30 There is some work being done on our website currently and that bumped the automation back, but I did place a file up a couple weeks ago for everything that was expired up to that date if you want to take a look at it.
ftp://www.dtniq.com/beta/IEOPTION.zip ***
Goal: Get Options Tick Data for Expired Options and Current Options for the 6 months.
I downloaded this file and parsed the file. However the last trade date is 20180713
Q1. I am assuming that ftp://www.dtniq.com/beta/IEOPTION.zip contains only Option Symbols that have expired and the last date they traded? For example, 20180710 has only 24103 symbols as you can see below and http://www.dtniq.com/product/mktsymbols_v2.zip file contains approx 900k option symbols which are all currently trading symbols.
Can you please verify this assumption is accurate
Q2. Can you kindly update this file ftp://www.dtniq.com/beta/IEOPTION.zip until 20180817 (The last date is 20180713)
After this - i can get latest symbols daily from http://www.dtniq.com/product/mktsymbols_v2.zip and request IQFeed data.
Your help is very appreciated. Thank you.
Please see attached file: (IEOptionsFile_DateSym.xlsx) Date Symbols 20180713 603 20180711 130 20180710 24159 20180709 112 20180707 385 20180706 403 20180703 27661 20180702 87 20180701 386 ...
AK786
Tim,
This is so strange (NO changes to my code since yesterday)
Yesterday No Open Interest TimeStamp,Open,High,Low,Close,PeriodVolume,OpenInterest 20180816,17.5,17.5,2.85,3.41,158,0,
Today, I see open interest.
Thank you anyways. You are very meticulous.
AK786
Tim,
I downloaded Daily Data for Equity Options. However the "Open Interest" is missing.
Can you please verify that this IS or IS NOT available?
Thanks,
(VERY Significant for my trading strategy)
AK786
string TickMessageCSV(string timeStamp, double last, int lastSize, long totalVolume, double bid, double ask, long tickId, char basisForLast, int tradeMarketCenter, string tradeConditions) { StringBuilder sb = new StringBuilder(1000);
sb.Append(timeStamp).Append(","); sb.Append(last).Append(","); sb.Append(lastSize).Append(","); sb.Append(totalVolume).Append(","); sb.Append(bid).Append(","); sb.Append(ask).Append(","); sb.Append(tickId).Append(","); sb.Append(basisForLast).Append(","); sb.Append(tradeMarketCenter).Append(","); sb.Append(tradeConditions).Append(",");
return sb.ToString(); }
I will post all my code here soon. I am in the process of Writing my Data Collection and storage handlers.
AK786
Tim,
Any updates?
Would appreciate your response. This is very critical to get me going.
Thanks
AK
AK786
data_collector, here is something i did to parse out the code from Matt P. I am storing Flat Files - you can write all teh data to a C# datatable object.
His code is awesome and has saved me 50+ hours - higher performance than the IQFeed examples IMO.
Also if there is bug, he serves us by fixing it in just a few hours if you send him an email
var tickData = await lookupClient.Historical.ReqHistoryTickTimeframeAsync(symbol, requestStartDate, requestEndDate, null, null, null, DataDirection.Oldest);
CreateTaskStoreTickMessages(symbol, tickData);
void CreateTaskStoreTickMessages(string symbol, IEnumerable<TickMessage> tickMessages) { Task.Factory.StartNew(() => StoreTickMessages(symbol, tickMessages, TickDirectory)); }
List<double> tickMessagesStoreRunTime = new List<double>(); object tickMessagesStoreLockObject = new object(); static string TickFileHeader = "Timestamp,Last,LastSize,TotalVolume,Bid,Ask,TickId,BasisForLast,TradeMarketCenter,TradeConditions"; void StoreTickMessages(string symbol, IEnumerable<TickMessage> tickMessages, string baseTickDirectory) { DateTime storeTickMessagesStartTime = DateTime.Now;
// All the Tick Data gets stored into "Date" Created Files By Symbol Name List<TickMessage> tickMessagesCurrentDate = new List<TickMessage>();
DateTime previousDate = DateTime.MaxValue; List<DateTime> datesProcessing = new List<DateTime>();
foreach (TickMessage message in tickMessages) { DateTime dateTime = message.Timestamp; DateTime date = message.Timestamp.Date;
// New Date in Tick Messages if (!datesProcessing.Contains(date)) { datesProcessing.Add(date);
// Record Previous Date for the First Time if (previousDate == DateTime.MaxValue) { previousDate = date; } else // Store the Previous Dates Data once New TimeStamp is triggered { StoreTickMessagesByDate(baseTickDirectory, previousDate, symbol, tickMessagesCurrentDate);
// Reset Data Structures tickMessagesCurrentDate = new List<TickMessage>();
previousDate = date; } }
tickMessagesCurrentDate.Add(message); }
// Store Data from Last Date StoreTickMessagesByDate(baseTickDirectory, previousDate, symbol, tickMessagesCurrentDate);
TimeSpan storeTickMessagesRunTime = DateTime.Now.Subtract(storeTickMessagesStartTime); double runTimeSeconds = Math.Round(storeTickMessagesRunTime.TotalSeconds, 4); double avgRunTimeSeconds = 0;
lock (tickMessagesStoreLockObject) { tickMessagesStoreRunTime.Add(runTimeSeconds);
avgRunTimeSeconds = Math.Round(GetAverage(tickMessagesStoreRunTime), 2); }
logger.Trace("StoreTickMessages: " + " Symbol: " + symbol + " Run Secs: " + runTimeSeconds + " Avg Run Secs: " + avgRunTimeSeconds); }
void StoreTickMessagesByDate(string TickDirectory, DateTime date, string symbol, List<TickMessage> tickMessages) { string TickDirectoryDate = TickDirectory + date.ToString(SystemInfrastructure.DateFormat) + "\\";
// Create Date Directory only once if (false == Directory.Exists(TickDirectoryDate)) { Directory.CreateDirectory(TickDirectoryDate); }
string symbolFileName = TickDirectoryDate + symbol + ".csv";
using (StreamWriter sw = new StreamWriter(symbolFileName)) { sw.WriteLine(TickFileHeader);
foreach (TickMessage tickMessage in tickMessages) { string timeStamp = tickMessage.Timestamp.ToString(IQFeed.CSharpApiClient.Lookup.Historical.Messages.TickMessage.TickDateTimeFormat); double Last = Math.Round(tickMessage.Last, 4); int LastSize = tickMessage.LastSize; long TotalVolume = tickMessage.TotalVolume; double Bid = Math.Round(tickMessage.Bid, 2); double Ask = Math.Round(tickMessage.Ask, 2); long TickId = tickMessage.TickId; char BasisForLast = tickMessage.BasisForLast; int TradeMarketCenter = tickMessage.TradeMarketCenter; string TradeConditions = tickMessage.TradeConditions;
string tickMessageCSV = TickMessageCSV(timeStamp, Last, LastSize, TotalVolume, Bid, Ask, TickId, BasisForLast, TradeMarketCenter, TradeConditions);
sw.WriteLine(tickMessageCSV); } } }
AK786
Tim
Q1. How do I join the Dev List so I can "TEST OUT" Beta products.
Q2. Can you provide a link to the LATEST "Options File" - i had the old one and Matt P helped me out on this one.
Q3. Any ETA on the list of the "traded products"
Thanks
AK786
This message is for everyone who has been looking for "Reducing the number of Callbacks" to IQfeed for requesting options tick or daily data on a Daily Basis to avoid "False Positives"
https://www.theocc.com/webapps/cont-volume-download?reportDate=20170103&format=txt where 20170103 = TradeDate (this provided us with "Expirations" where Trading happened If you are just focused on Front 2 months, that reduced the load even further.
This is not a perfect solution but reduces the load.
There are many different queries available for Batch Processing https://www.theocc.com/market-data/batch-processing.jsp#http_volume_download_contract_date
AK786
Thank you so so much Tim, This will get us going a long way
Can you please provide the header. Just want to make sure I get it right.
PEGA1716R35,2,PEGASYSTEMS JUN 17 P 35,,14,20170227
This is PEGA JUN 17 35 Put
What does the 2 refer to? What is 14? and is 20170227 the trade date when 14 contracts traded?
Thanks very much
AK786
Asset Class: US Stocks and US Equity Options
Q1. What is the largest number of Days for which Historical Tick Data that can be requested during US trading hours?
Q2. Lets say Answer to Q1 = 10 days of Tick/Symbol - Can I request a 10 days from 30 days ago (which is part of the 180 Days Tick Historical that is stored)
AK786
Hi Tim,
I am looking for the same. Any updates - just checking
AK786
Tim
Is there any update on being able to receive "Traded" Option Symbols or Last Price, Volume on the Symbol List
AK786
It got fixed after I updated VS 2017 with the latest NetCore Packages, thank you
AK786
FYI - have dependency installed
https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.302-windows-x64-installer
AK786
|
|