2014-03-03 1 views
2

YQL을 사용하여 Yahoo Finance에서 옵션 데이터를 검색하려고합니다. 아주 이상한 문제는 AAPL (Apple)과 MSFT (Microsoft)와 같은 다른 기호에 대해 원하는 옵션 데이터를 다운로드 할 수 있지만 GOOG (Google)에는 사용할 수 없다는 것입니다.옵션 기호 'GOOG'가 YQL에서 작동하지 않습니다.

내 검색어 및 그 결과입니다. 분명히 AAPL과 MSFT에 대한 데이터를 검색 할 수 있지만 GOOG가 누락되었습니다. 이것은 yahoo.finance.option_contracts뿐만 아니라 yahoo.finance.options를 포함한 다른 모든 옵션 관련 테이블에서도 발생합니다. 아래에 표시된 쿼리는 GOOG에 대한 결과가 10 개 미만일 것으로 예상되므로 쿼리 제한과 관련이없는 것으로 확신합니다.

select * from yahoo.finance.option_contracts where symbol in ('GOOG', 'AAPL', 'MSFT') 

{ 
"query": { 
    "count": 2, 
    "created": "2014-03-03T15:00:45Z", 
    "lang": "en-US", 
    "diagnostics": { 
    "url": [ 
    { 
    "execution-start-time": "0", 
    "execution-stop-time": "1", 
    "execution-time": "1", 
    "content": "http://www.datatables.org/yahoo/finance/yahoo.finance.option_contracts.xml" 
    }, 
    { 
    "execution-start-time": "4", 
    "execution-stop-time": "1057", 
    "execution-time": "1053", 
    "content": "http://finance.yahoo.com/q/op?s=MSFT" 
    }, 
    { 
    "execution-start-time": "5", 
    "execution-stop-time": "3571", 
    "execution-time": "3566", 
    "content": "http://finance.yahoo.com/q/op?s=AAPL" 
    }, 
    { 
    "error": "Connect Failure", 
    "execution-start-time": "5", 
    "execution-stop-time": "10017", 
    "execution-time": "10012", 
    "content": "http://finance.yahoo.com/q/op?s=GOOG" 
    }, 
    { 
    "error": "Connect Failure", 
    "execution-start-time": "5", 
    "execution-stop-time": "10017", 
    "execution-time": "10012", 
    "content": "http://finance.yahoo.com/q/op?s=GOOG" 
    } 
    ], 
    "publiclyCallable": "true", 
    "javascript": [ 
    { 
    "execution-start-time": "3", 
    "execution-stop-time": "1074", 
    "execution-time": "1070", 
    "instructions-used": "18571", 
    "table-name": "yahoo.finance.option_contracts" 
    }, 
    { 
    "execution-start-time": "3", 
    "execution-stop-time": "3616", 
    "execution-time": "3612", 
    "instructions-used": "31142", 
    "table-name": "yahoo.finance.option_contracts" 
    }, 
    "Exception: Read timed out, url: http://finance.yahoo.com/q/op?s=GOOG", 
    { 
    "execution-start-time": "3", 
    "execution-stop-time": "10017", 
    "execution-time": "10013", 
    "instructions-used": "31142", 
    "table-name": "yahoo.finance.option_contracts" 
    } 
    ], 
    "user-time": "10018", 
    "service-time": "19447", 
    "build-version": "0.2.2157" 
    }, 
    "results": { 
    "option": [ 
    { 
    "symbol": "AAPL", 
    "contract": [ 
     "2014-03", 
     "2014-04", 
     "2014-05", 
     "2014-06", 
     "2014-07", 
     "2014-10", 
     "2015-01", 
     "2016-01" 
    ] 
    }, 
    { 
    "symbol": "MSFT", 
    "contract": [ 
     "2014-03", 
     "2014-04", 
     "2014-05", 
     "2014-06", 
     "2014-07", 
     "2014-10", 
     "2015-01", 
     "2016-01" 
    ] 
    } 
    ] 
    } 
} 
} 

는 합계에서, 나는 GOOG 옵션 데이터를 검색하려고 할 때마다, 나는 단지 '시간 초과를내어 읽기'의 오류로 널 (null) 결과를 얻을. AAPL 및 MSFT와 같은 다른 옵션 기호의 경우 원하는대로 표시됩니다.

누구나 알고있는 이유는 무엇입니까?

+0

[finance.yahoo 링크] (http://finance.yahoo.com/q/op?s=GOOG) –

+0

에 직접 접속하려고하면 "Server Hangup"메시지가 표시됩니다. (나는 단지 변덕스러운 서비스라고 생각한다.) –

+0

아니, 나는 여전히 'GOOG'라는 기호로 결과를 얻지 못하고있다. 이제는 'Read Timed Out'을 말하지 않지만 '결과'에는 검색된 데이터가 없습니다. 이것은 서버 측 문제입니까? – Dongsan

답변

1

이것은 Google이 거래하는 TWO 스티커 (http://finance.yahoo.com/news/google-trades-under-2-tickers-225300863.html 참조) : GOOG 및 GOOGL과 관련이 있어야합니다.

YQL은 GOOG을 인식하지 않지만 새로운 티커 GOOGL을 수락합니다. 나는 예기치 않게 GOOG를 찾을 때 하나 대신 두개의 시세 표시를 얻는 것으로 YQL 질의 오류를 의심합니다.

Yahoo! Finance에서 GOOG 견적을 요청하면 작동합니다.

관련 문제