Need source for OHLCV on 4000 stocks on a daily basis that I can download to Excel

Discussion in 'Trading Software' started by cashonly, Oct 30, 2013.

  1. Bob111

    Bob111

    that's what i do, similar technique,but not in excel, in VB. 200 tickers per request. dunno about earliest,but yahoo data(i only need last price before close) is available at 4:30 and match perfectly with IQ 100% of the time. no need to wait until 8-9pm est or whatever.you right about tweaks. the tickers come and go constantly. renamed,delisted etc. you have to catch those errors.
     
    #11     Oct 30, 2013
  2. cashonly

    cashonly Bright Trading, LLC

    Bob,

    Do you have any suggestions on how to catch symbol changes in a straightforward, preferably programmatic way?
     
    #12     Oct 30, 2013
  3. Bob111

    Bob111

    if you know visual basic(old one,not .net) i can send you 2 variations of the procedures to get that EOD data-one using straight URL request and another one-using yahoo's YQL
    basically- both of them return a string with end of line character and the end of each line and the data separated by comma(see attached file)

    and you just go thru it. cut out ticker, if there is an error or anything,but the data that you are looking for-you raise a flag. if there is an string instead of number-flag,if there is 'N\A' or 'No such ticker'-flag and so on

    note that "N\A" on screenshoot is becasuse i've added 'e' tag in request(see address browser) . mean-no error
     
    #13     Oct 30, 2013
  4. Bob111

    Bob111

    here is my list of possible errors

    For y = LBound(arrSymb) To UBound(arrSymb)


    If arrSymb(y) = AllSymb(i) Then


    If arrDate(y) = "N/A" Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & " Err.Date. N/A"
    Counter = Counter + 1

    GoTo NEXT_MOVE
    End If

    If IsDate(arrDate(y)) = False Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & "," & arrDate(y) & " Err.Date False"
    Counter = Counter + 1

    GoTo NEXT_MOVE
    End If

    If IsNumeric(arrVol(y)) = False Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & "," & arrVol(y) & " Err.Volume False"
    Counter = Counter + 1

    GoTo NEXT_MOVE
    End If

    If arrVol(y) = 0 Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & "," & arrVol(y) & " Err.Volume Zero"
    Counter = Counter + 1

    GoTo NEXT_MOVE
    End If

    If IsNumeric(arrPrice(y)) = False Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & "," & arrPrice(y) & " Err.Price False"
    Counter = Counter + 1

    GoTo NEXT_MOVE
    End If

    If arrPrice(y) = 0 Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & "," & arrPrice(y) & " Err.Price Zero"
    Counter = Counter + 1

    GoTo NEXT_MOVE
    End If



    If CDate(arrDate(y)) <> CDate(TradeDate) Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & "," & arrDate(y) & " Err.Wrong Day"
    Counter = Counter + 1

    GoTo NEXT_MOVE

    End If




    If (InStr(1, arrErr(y), "No such ticker symbol") > 0) Or (InStr(1, arrErr(y), "Ticker symbol has changed to") > 0) Then

    frmTickerCheck.lstInvalidTickers.AddItem AllSymb(i) & " Err.Ticker"
    Counter = Counter + 1

    GoTo NEXT_MOVE


    End If
     
    #14     Oct 30, 2013
  5. cashonly

    cashonly Bright Trading, LLC

    Thanks Bob!

    The info you provided here will do just fine. I do non-.net VB, but what you put up here is just fine.

    Cash


     
    #15     Nov 1, 2013
  6. Bob111

    Bob111

    Hi all! now i'm looking for a free EOD data source for US stocks . i need it for a cross reference. other than yahoo and IB. i have problems with IB's API ,which for whatever reason returns -1 for a previous day close lately. any suggestions besides eoddata.com? the more-the better.

    Thank you!
     
    #16     Aug 20, 2014
  7. Sergio77

    Sergio77

    google.com finance. You can use Amiquote from Amibroker I think.
     
    #17     Aug 21, 2014
  8. Bob111

    Bob111

    Thank you! i'll try that. anyone know data provider eoddata.com was using for US stocks? nasdaq specifically?
    i'm planning to use it as a cross reference between yahoo and them,but if they are getting their data from yahoo-that would be pointless exercise.

    Thank you!
     
    #18     Aug 21, 2014