Road to FinGPT #2

  • #3857974
    kor 96.***.233.115 675

    https://www.workingus.com/forums/topic/road-to-fingpt/ 가 쓰레드가 꽤 길어져서 쓰레드를 나눕니다.

    앞 쓰레드에서는 ai에게 주가를 물어볼 수 있나? 어떻게? 에 대해서 배우며 시행착오들들을 기록해뒀습니다. 센티멘트 예측 및 주가 예측 시스템에 대한 llm 민주화(*)를 추구하는 Finance 분야의 GPT인 오픈 소스 프로젝 FinGPT를 발견하여, 그것이 무엇인지 어떻게 가져다 쓰는지에 대해 알아봤고요.

    계속 궁금한 점들에 대해 새 쓰레드에서 배우며 알아보는 중입니다.

    목차

    Topic 13: FinGPT (Forecaster)가 제시하는 뉴스 정보는 진짜 존재하는가 아니면 llm이 꾸며낸 정보인가 확인해보자
    Topic 14: FinGPT (Forecaster)가 사용하는 backend 서비스는 어떤 것이 있는가?
    Topic 15: FinGPT (Forecaster)의 프롬프트 엔지니어링
    Topic 16: FinGPT (Forecaster)의 한계 (하는 일, 못 하는 일)

    – – – –
    (*) 정치 용어 아닙니다. Bloomberg 등 특정 대기업이 finance 분야의 llm 기술과 데이터를 소유 독점하지 못 하게, 일반 대중의 손에 llm 기술과 데이터를 쥐어주겠다는 open source 정신에 대한 얘기입니다. FinGPT의 저자가 사용한 용어입니다.

    • kor 96.***.233.115

      ** 대 브래드 지뢰 **

    • kor 96.***.233.115

      Topic 13: FinGPT (Forecaster)가 제시하는 뉴스 정보는 진짜 존재하는가 아니면 llm이 꾸며낸 정보인가 확인해보자

      결론: 진짜 존재하는 기사들임

      이하 상세:

      데모 페이지: https://huggingface.co/spaces/FinGPT/FinGPT-Forecaster

      FinGPT가 사용하는 가장 기초 정보인 financial data와 news 정보가 진짜인지를 검증해봤습니다. 진짜네요. 오른쪽 위 Information 섹션에 나오는 정보는 실제 market에 존재하는 뉴스이고, 신뢰할 수 있는 소스들입니다.

      llm이 하도 말을 잘 해서 지어낸 기사인지 진짜 기사인지 분간하기가 힘들어서, 하나씩 확인해본 거고요.

      뉴스의 개수는 매일 1개, 입력 폼의 n_weeks 파라미터 (기본값 3)만큼의 기간 동안 뉴스를 긁어옵니다. 3주치를 기본으로 긁어오고, 매주 5개, 각 거래일별로 1개의 기사를 가져옵니다. 기본 15개입니다.

      아래에 스크랩된 뉴스를 하나하나 구글에 검색해봤는데 모두 존재하는 기사이고, 신뢰할 수 있는 소스들입니다.

      TechChrunch, Bloomberg Law News, Seekingalpha, Barron’s, MSN Money, The motley Fool, Marketscreenner, Yahoo Finance, Reuters, Ars Technica, AP news, WSJ 등에 같은 제목의 기사가 실제로 존재하는 걸 확인했습니다.

      뉴스 소스들이 정말 마음에 드네요.

      – – – –
      아래가 FinGPT가 스크랩한, 화면 오른쪽 위에 표시되는 내용의 예이고요. 티커: AAPL, 거래 타겟 날짜: 3/23/2024, 검색 week 수: 3

      [Company Introduction]:

      Apple Inc is a leading entity in the Technology sector. Incorporated and publicly traded since 1980-12-12, the company has established its reputation as one of the key players in the market. As of today, Apple Inc has a market capitalization of 2660327.16 in USD, with 15441.88 shares outstanding.

      Apple Inc operates primarily in the US, trading under the ticker AAPL on the NASDAQ NMS – GLOBAL MARKET. As a dominant force in the Technology space, the company continues to innovate and drive progress within the industry.

      From 2024-03-04 to 2024-03-11, AAPL’s stock price decreased from 175.10 to 172.75. Company news during this period are listed below:

      [Headline]: Europe’s DMA rules for Big Tech explained
      [Summary]: The Digital Markets Act (DMA), an ex ante European Union reform of digital competition rules, will be in force today, by midnight Brussels’ time, on six tech giants — applying a new set of legal requirements on more than 20 of their “core platform services” (CPS). Online empires that scaled in an era of minimal interventions from regulators, shaping the commercial web as we know it, are now facing a prescriptive set of rules on how they can operate and do business in the EU, including hard limi

      <뉴스 기사 13개 삭제>

      [Headline]: News Highlights : Top Company News of the Day – Friday at 5 PM ET
      [Summary]: Chrysler-Parent Stellantis Laying Off About 400 Salaried Employees in U.S. The automaker has trimmed staff several times over the past year as it prepares to start selling electric vehicles in…

      Some recent basic financials of AAPL, reported at 2023-12-30, are presented below:

      – – – –
      아래는 이 각각의 헤드라인 소스와 날짜를 제가 구글로 하나씩 확인한 내용입니다.

      Europe’s DMA rules for Big Tech explained => TechChrunch 3/7/2024
      Apple Reverses Move to Ban ‘Fortnite’ Maker From the EU => Bloomberg Law News 3/8/2024
      DGRW: An Alternative To SCHD But With A Caveat => Seekingalpha 3/8/2024
      The Apple Car Is Dead, but the Idea Won’t Die => Barron’s 3/11/2024
      News Highlights : Top Company News of the Day – Monday at 9 AM ET => MSN money 3/11/2024

      3주전-2주전 (1주간) 매일 1개씩 샘플링한 기사들 실존하는 기사들임, good.

      Apple: Multiple Strategic Lapses => Seeking Alpha 3/14/2024
      Here Are All 7 Stocks Warren Buffett Is Selling => The Motley Fool 3/15/2024
      Can Nvidia Rally 21% and Surpass Apple to Become the Second Most Valuable “Magnificent Seven” Stock? => The Motley Fool 3/16/2024
      Stocks downbeat before central bank rate storm => Marketscreener 3/18/2024
      Beyond Google talks, Apple needs to ‘catch up’ on AI development => Yahoo Finance 3/18/2024

      2주전 ~ 1주전까지 1주간 매일 1개씩 샘플링항 5개 뉴스, 실존하는 기사들임, good.

      Meta, Microsoft, X and Match join Epic Games’ battle against Apple => Reuters 3/20/2024
      US sues Apple, alleging it illegally monopolized the smartphone market => Ars Technica 3/21/2024
      Justice Department sues Apple, alleging it illegally monopolized the smartphone market => AP news 3/21/2024
      Apple Held Talks With China’s Baidu Over AI for Its Devices => WSJ 3/22/2024
      News Highlights : Top Company News of the Day – Friday at 5 PM ET => Reuters 3/22/2024

      최근 1주 기사, 모두 존재하는 기사들임. good.

      특정 종목에 대한 뉴스 리서치도 정말 노가다거든요. FinGPT의 기사 리서치 및 요약 능력 마음에 듭니다.

    • kor 96.***.233.115

      Topic 14: FinGPT (Forecaster)가 사용하는 backend 서비스는 어떤 것이 있는가?

      요약: yahoo finance, finnhub (FinGPT가 뉴스 스크랩하여 요약한 게 아니고 뉴스 서비스 api 호출한 거네요. 어쩐지 요약이 너무 정갈하고 훌륭하더라니.)

      이하 상세:

      FinGPT가 llm 이기 때문에 어떤 정보를 신뢰할 수 있는 시스템에서 가져오고, 어느 것이 llm에 의해 가공되는 것인지 정확히 알 필요가 있는데요.

      데모 페이지: https://huggingface.co/spaces/FinGPT/FinGPT-Forecaster

      • 주가 정보는 yahoo finance 에서 가져옵니다. FinGPT가 생성한 게 아니므로 주가변동에 대한 문장은 믿어도 되네요.
      • 티커 뉴스는 finnhub.io에서 가져옵니다. 헤드라인 문장과 써머리는 finnhub.io가 주는 것을 그대로 사용하고, FinGPT가 재가공한 게 아니므로 내용을 믿어도 됩니다.
      • 회사 기본 정보 (country, currency, exchange, industry, ip date, logo image, market cap, name, phone, shareOutstanding, ticker, weburl) 는 finnhub.io를 이용합니다. FinGPT가 재가공한 게 아니므로 숫자는 믿어도 되는데, 버그가 하나 있네요. share outstanding이 백만주 단위의 숫자로 리턴되는데 그걸 prompt에 그대로 사용하는 버그. 예: shares outstanding이 2500이 리턴되면 2500백만주로 해석해야 하는데 그걸 그대로 2500주인 것으로 prompt에 집어 넣고 있음. 주가 예측, 판단에 사용되는 부분은 아닙니다.
      • 주간 주가변동이 상승하면 increased라고 표시하고 하락하면 decreased라고 표시하는데, 변동이 없어도 decreased라고 표시하는 사소한 버그가 있지만 주가 판단에 영향을 주는 건 아닐 것 같습니다.
      • finnhub.io가 주간 수백 개의 뉴스를 돌려주더라도 최대 5개만 랜덤 샘플링합니다. 이 부분 때문에 Submit 버튼을 여러 번 눌러서 예측치가 일관성 있게 나오는지 확인해 보는 게 필요할 듯. 아니면, FinGPT를 로컬에서 돌릴 때 customize 해서 더 많은 기사를 참조하도록 수정하든지.

      이렇게 하여 구성된 [Information] 섹션의 내용은 FinGPT llm이 개입되지 않은, 모두 사실이네요. (yahoo finance, finnhub 데이터를 그대로 사용함)

    • kor 96.***.233.115

      Topic 15: FinGPT (Forecaster)의 프롬프트 엔지니어링

      요약: 프롬프트 모양은 데모 페이지 https://huggingface.co/spaces/FinGPT/FinGPT-Forecaster 의 [Information] 섹션에서 찾아보세요.

      이하 상세:

      프롬프트 엔지니어링의 목표는 llm의 언어 능력과 기술 지식을 연결시켜 최대한 정확한/유용한 정보를 만들어내는 것입니다. llm은 대충 물어보면 대충 답해주고 잘 물어보면 잘 대답해준다고 하죠. 빈틈없이 모든 조건을 프롬프트에 나열해주는 게 중요한 이유입니다.

      FinGPT는 프롬프트 구성을 어떻게 하고 있는지 보면요.

      • [Information] 섹션에 나온 문자열 전체를 Yahoo Finance, FinnHub 서비스를 이용하여 먼저 만들어냅니다. [Information] 섹션 예는 데모 페이지 https://huggingface.co/spaces/FinGPT/FinGPT-Forecaster 에서 Submit 누르시면 볼 수 있습니다.
      • [Information] 내용 전체에다가, 요구사항을 나타내는 고정된 포맷 문자열 “Based on all the information before {curday}, let’s first analyze the positive developments and potential concerns for {symbol}. Come up with 2-4 most important factors respectively and keep them concise. Most factors should be inferred from company related news. “Then make your prediction of the {symbol} stock price movement for next week ({period}). Provide a summary analysis to support your prediction.” 을 붙여서 최종 prompt를 만듭니다.
      • 이 1000+ 단어의 prompt 긴 문장을 pretrained ai model에게 넘깁니다.
      • 그 다음부터 model이 하는 일은 블랙박스입니다. ai가 어떤 응답을 내놓더라도 ‘왜’ 그 답을 내놨는지, ‘어떻게’ 그 응답을 만들었는지는 설명할 수가 없습니다.

      여기까지 프롬프트의 내용과 구성이 어떻게 되는지 봤네요.

    • kor 96.***.233.115

      Topic 16: FinGPT (Forecaster)의 한계 (하는 일, 못 하는 일)

      위의 프롬프트에서 보듯, 현재 FinGPT가 모델에게 요구하는 것은 Junior Analyst가 하는 시장 종목 써머리 정도라고 하겠습니다.

      여기까지 한 것만해도 잘 했고요. ChatGPT가 나온지 1년, 그리고 FinGPT가 나온지 1년도 채 안 됐으니까 이만큼만 해도 FinGPT의 저자들이 말하는대로 Finance GPT Open Source Framework을 갖추었다는 점에서 훌륭하네요. 모두 다 공개한 저자에게 매우 감사할 일이고요.

      Economist가 하는 일, 즉 경기 트렌드를 보거나, 시장의 이상 징후 파악, 경기 변곡점 파악 등을 직접 파악하려는 노력은 없네요. 제가 FinGPT를 죽 파내려간 이유가, 혹시 이 FinGPT가 시장의 이상 징후 파악과 변곡점 파악을 하는지 궁금했기 때문입니다. 이걸 해야 현재 FinGPT 수준인 아마 5급에서 프로 바둑 기사로 점프할 수 있으니까요.

      여러 가지 ai, llm에 대한 기술적인 궁금증과, FinGPT의 디테일에 대한 제 궁금증은 대략 해결됐습니다. llm에 대한 것은 제가 모르는 게 압도적으로 많지만, 제가 그거까지 알고 싶은 건 아니고 갖다 쓰는데만 관심이 있어서 이만하면 저는 됐습니다.

    • 현인 24.***.19.3

      좋은 정보글 감사합니다

    • 140.***.198.159

      Yahoo Finance Premium같은데서 이런 서비스할 것 같네요. 아직 없다면 준비하고 있을듯. 아마 앞으로는 어디든 다 있는 기능이 되지 않을까요?

    • zapster 175.***.50.230

      여기는 한국인데 덕분에 저도 로컬로 돌려 보고 있습니다. 상세한 정리 정말 감사합니다.