평소에도 가장 애용하고 있는 서비스 중 하나인 ChatGPT.
제가 이걸 웹이나 앱과 같은 플랫폼이 아니라 직접 API를 이용하여 개발할 때 어떻게 해야하나 의문이 드는 경우가 있었습니다.
그래서 오늘은 정말 간단하게 사용할 수 있는 Python 핵심 코드만 가져왔습니다.
이걸 응용하여 입맛에 맞게 개발하시면 될 것 같습니다.
import openai
# 여기에 발급하신 API KEY를 넣으세요
# https://platform.openai.com/account/api-keys
YOUR_API_KEY = 'sk-XXXXXXXXXXXXXXXXXXXXXXX'
def chatGPT(prompt, API_KEY=YOUR_API_KEY):
# set api key
openai.api_key = API_KEY
# Call the chat GPT API
completion = openai.Completion.create(
engine='text-davinci-003', # 'text-curie-001' # 'text-babbage-001' #'text-ada-001'
prompt=prompt,
temperature=0.5,
max_tokens=1024,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
return completion['choices'][0]['text']
prompt = input("질문: ")
result = chatGPT(prompt).strip()
print('\대답: {}'.format(result))
아래는 ChatGPT API를 이용한 예시입니다.
처음에 시스템 트레이딩을 입문하시는 분들이 참고하여 공부하시면 정말 좋을 것 같습니다. :)
(물론 대답해주는 내용이 항상 맞지 않으니 이 부분은 주의해야할 것 같습니다.)
질문: "Binance API를 이용해서 실시간 데이터를 수신하여 변동성 돌파 전략을 수행시키는 Python 코드를 제시해줘."
대답:
import time
import pandas as pd
from binance.client import Client
# Binance API 접속 정보
api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'
# Binance API 접속
client = Client(api_key, api_secret)
# 실시간 데이터 수신
while True:
# 실시간 데이터 수신
klines = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_1MINUTE, "1 day ago UTC")
df = pd.DataFrame(klines, columns=['Open time', 'Open', 'High', 'Low', 'Close', 'Volume', 'Close time', 'Quote asset volume', 'Number of trades', 'Taker buy base asset volume', 'Taker buy quote asset volume', 'Ignore'])
last_close = df.iloc[-1]['Close']
# 변동성 돌파 감지
if last_close > df.iloc[-2]['Close']:
print('변동성 돌파 감지!')
time.sleep(60)
더 많은 모듈이나 구체적인 인자와 관련된 부분은 공식 홈페이지를 확인해보시면 될 것 같습니다.
https://platform.openai.com/docs/guides/gpt
728x90
반응형
'개발' 카테고리의 다른 글
[정보] ChatGPT에서 채팅 안 보내지는 에러 고치기 (2024.03.11기준) (0) | 2024.03.11 |
---|---|
[개발] 간단하게 Python에서 Telegram API 통해 메세지 보내기 (1) | 2024.02.25 |
[개발] 외부 원격 접속을 위한 Jupyter Notebook Server 띄우기 (0) | 2023.07.16 |
[개발] Windows 10에서 작업 스케줄러 사용하여 배치파일 실행시키기 (0) | 2021.10.13 |
[개발] 증권사 API를 사용하기 위한 32비트 가상환경 만들기 (0) | 2021.10.01 |