Google Prid 업데이트

TL;DR


TypeScript를 사용하여 Google Prid 이전 기록을 업데이트하여 TypeScript에서 토픽스 브랜드의 시세 정보를 얻습니다.이 단락은 때때로 친구, 지인들에게 상의를 받기 때문에 필기로 공개하기로 했다.
외국 주식, 특히 미국 주식의 시가는 구글 핀캔스 API에서 쉽게 구할 수 있기 때문에 구글 스프레드시트에서 직접 사용할 수 있다.그러나 토픽스 주식의 시가는 구글 파이낸스 API를 통해 취득(과거 취득)할 수 없기 때문에 야후 파이낸스 API를 활용해 실시한다.
  • API를 통해 동증에 상장된 기업의 주가를 얻는 방법
  • Google 스프레드시트를 업데이트하는 방법
  • node+TypeScript로 구현된 샘플
  • 동증 주식 가격을 취득하는 방법


    동증의 실시간 시가는 유상 서비스이기 때문에 무료로 취득할 수 있는 주식 가격은 지연 시가이다.이전에는 여러 개의 API가 동증 브랜드의 시가를 얻을 수 있었지만 최근 몇 년 동안 폐지되고 있다.이런 가운데 다음과 같은 몇 가지를 평가했고, 이번에는 야후 파이낸스 API(US)를 활용하기로 했다.
  • 안정적으로 제공 예정
    애플 표준인'주가 애플리케이션'에 정보를 제공하는 원천으로, 폐지 위험은 낮다.
  • npm 패키지에서 API
  • 제공
    다음 샘플은 앞으로 야후 파이낸스 API를 사용할 수 없을 가능성을 염두에 두고 독자적인 파이낸스-api로 추상화해 이해하기 어렵지만 실질적으로 latestQuute 부분이 처리됐다.
    또한, 이번에는 토픽스 이외의 시가를 취득해야 하기 때문에 사전에 맵<시장, 브랜드 코드[]의 형식으로 취득 대상 브랜드를 설정하여 비동기적으로 처리한다.또 야후 파이낸스 API는 브랜드 코드의 접미사에 시장에 부여하는 규격으로, 샘플은 토픽스(TSE)을 나타내는 접미사'.T'다.
    import { FinanceApi, quote } from './finance-api';
    export class Yahoo extends FinanceApi {
    
        constructor(symbols: Map<string, string[]>) {
            super(symbols);
        }
    
        public quotes(market: string): Promise<quote>[] {
            return (this.symbols.get(market) ?? [])
                .map((symbol: string) => this.latestQuote({ market, symbol }));
        }
    
        private async latestQuote({ market, symbol }: { market: string; symbol: string; }): Promise<quote> {
            var yahooFinance = require('yahoo-finance');
            var suffix: string = market === "TSE" ? ".T" : "";
            return yahooFinance.quote(
                {
                    symbol: symbol + suffix,
                    modules: ['price']
                }).then((quotes: any) => {
                    var price = quotes.price;
                    var quote: quote = {
                        symbol: symbol,
                        name: price.shortName,
                        longName: price.longName,
                        open: price.regularMarketOpen,
                        high: price.regularMarketDayHigh,
                        low: price.regularMarketDayLow,
                        close: price.regularMarketPrice,
                        closeYest: price.regularMarketPreviousClose,
                        volume: price.regularMarketVolume,
                        ccy: price.currency,
                    };
                    return quote;
                });
        }
    }
    

    Google 스프레드시트를 업데이트하는 방법


    Google Prid의 업데이트 방법은 다양한 사이트에 샘플이 있기 때문에 자세히 설명하지 않지만, 평소 Excel을 이용하는 사람에게는 혼란스럽기 쉬운 부분을 설명합니다.
  • 용어의 차이
  • 워크시트는 스프레드시트
  • 워크시트는 워크시트
  • 생각의 차이
  • 조작이 아니라 작업표를 얻고 조작하다
    Google 스프레드시트에서는 워크시트 단위의 작업이 아니라 스프레드시트에서 처리 범위인 '워크시트 이름' A1 '을 지정합니다. Excel에 익숙한 사람에게는 이해하기 어렵습니다.
  • 이러한 차이를 의식한다면 아래의 샘플은 어렵지 않겠죠.
    public update(quote: quote): void {
        var range: string = quote.symbol + "!G3";
        var param: sheets_v4.Params$Resource$Spreadsheets$Values$Update = {
            spreadsheetId: this.spreadsheetid,
            range: range,
            valueInputOption: "RAW",
            requestBody: {
                majorDimension: "ROWS",
                range: range,
                values: [[quote.close]]
            }
        };
        this.spreadSheets
            .values
            .update(param)
            .then(result => result.status);
        }
    

    총결산


    Yahoo Finance API와 Google Plit을 사용하여 동증주식 가격을 얻는 방법을 간략하게 설명합니다.실제로 토픽스 이외의 주가를 취득해 GAS를 활용해 다양한 분석을 하고 있기 때문에 야후 파이낸스 API도 GAS에서 집행하고 있다.
    견본 코드로 수정하기 위해 코드를 과감하게 줄여 이해하기 어려워졌지만, 국내 주식의 주식 가격 취득과 구글 프라이드의 참고가 된다면 다행이다.

    좋은 웹페이지 즐겨찾기