Skip to content
조회 수 1343 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 키움증권 open api 분할매매 수식구하기

장시작 또는 현재가에서 지정한 투자금액에 따라 매수는 피라미드형, 매도는 역피라미드형으로 매매주문하기

 

 

 


#코스피
#5,000 ~ 10,000 = 10#10,000 ~ 50,000 = 50#50,000 ~ 100,000 = 100#100,000 ~ 500,000 = 500#500,000 ~ 1,000,000 = 1000
#코스닥
#5,000 ~ 10,000 = 10#10,000 ~ 50,000 = 50#50,000 ~ 100원단위

order_money=5100                                 #현재가
max_order_money=1000000                          #총매매금액
mom_ea=int(round(max_order_money/order_money,0)) #총매매금액 나누기 현재가 = 총매매 수량

print("총매매 주식수 : ",mom_ea)
sellbuy_ea=[]
rate_sb=0.027

for i in range(0,10):
    sellbuy_ea.append(int(mom_ea*rate_sb))
    rate_sb = (rate_sb + 0.008) * 1.115

temp=0
for i in range(0,10):
    temp=temp+sellbuy_ea[i]
    temp1=order_money*temp
print("실투자수량:",temp,"실투자금액:",temp1)
print("매수호가주문수량",sellbuy_ea)


#0.5% ~ 10%까지의 매수호가/매도호가 생성
sell_m=[]
buy_m=[]
rate_v=0.005
for i in range(0,20):
    sell_m.append(order_money + order_money * rate_v)
    buy_m.append(order_money - order_money * rate_v)
    rate_v = rate_v + 0.005
#print("매도호가",sell_m)
#0.5% ~ 10%까지의 폭


## 호가를 자리수에따라 반올림하면서 정수화 함.
buyQ=[]
sellQ=[]
for i in range(0,len(buy_m)):
    if buy_m[i] < 1000:
        buyQ.append(int(round(buy_m[i], 0)))
    elif buy_m[i] < 5000:
        buyQ.append(int(round(buy_m[i], -1)))
    elif buy_m[i] < 10000:
        buyQ.append(int(round(buy_m[i], -1)))
    elif buy_m[i] < 50000:
        buyQ.append(int(round(buy_m[i], -2)))
    elif buy_m[i] < 100000:
        buyQ.append(int(round(buy_m[i], -2)))
    elif buy_m[i] < 500000:
        buyQ.append(int(round(buy_m[i], -3)))
    elif buy_m[i] < 1000000:
        buyQ.append(int(round(buy_m[i], -3)))

for i in range(0,len(sell_m)):
    if sell_m[i] < 1000:
        sellQ.append(int(round(sell_m[i], 0)))
    elif sell_m[i] < 5000:
        sellQ.append(int(round(sell_m[i], -1)))
    elif sell_m[i] < 10000:
        sellQ.append(int(round(sell_m[i], -1)))
    elif sell_m[i] < 50000:
        sellQ.append(int(round(sell_m[i], -2)))
    elif sell_m[i] < 100000:
        sellQ.append(int(round(sell_m[i], -2)))
    elif sell_m[i] < 500000:
        sellQ.append(int(round(sell_m[i], -3)))
    elif sell_m[i] < 1000000:
        sellQ.append(int(round(sell_m[i], -3)))

print("매도호가:",sellQ,"\n매수호가:",buyQ)


## 상한가 구하기
highlow = 0.28
max_money=order_money + order_money * highlow
min_money=order_money - order_money * highlow
#print(order_money,max_money,min_money)

## 상한가 자리수에 따라 반올림하고 정수화하기
if order_money < 1000:
    max_money = int(round(order_money + order_money * highlow, 0))
    min_money = int(round(order_money - order_money * highlow, 0))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

if order_money < 5000:
    max_money = int(round(order_money + order_money * highlow, -1))
    min_money = int(round(order_money - order_money * highlow, -1))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 10000:
    max_money = int(round(order_money + order_money * highlow, -1))
    min_money = int(round(order_money - order_money * highlow, -1))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 50000:
    max_money = int(round(order_money + order_money * highlow, -2))
    min_money = int(round(order_money - order_money * highlow, -2))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 100000:
    max_money = int(round(order_money + order_money * highlow, -3))
    min_money = int(round(order_money - order_money * highlow, -3))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 500000:
    max_money = int(round(order_money + order_money * highlow, -4))
    min_money = int(round(order_money - order_money * highlow, -4))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 1000000:
    max_money = int(round(order_money + order_money * highlow, -5))
    min_money = int(round(order_money - order_money * highlow, -5))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)
    
로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
917 프로세스 프로세스 2 3 2011.02.07 312175
916 WindowsTip 윈도우 DLL 오류 해결방법 2013.01.23 192702
915 컴퓨터잡담 자바스크립트로 전송(submit) 버튼 누르기 3 2010.10.10 103644
914 컴퓨터잡담 hMailServer - 설치시 주의 핵심사항 1 2010.08.24 103068
913 컴퓨터잡담 북마크 링크 주소모음 2010.10.30 102936
912 파이썬 파이썬에서 인식이 잘되는 OCR 종류 2023.09.15 77235
911 컴퓨터잡담 파이썬 request, beautifulshop으로 정액정보 받아오기 2023.09.29 76921
910 파이썬 파이썬 랜덤으로 문제풀기 #2 2023.10.04 76717
909 파이썬 한우경매낙찰 유튜브 영상의 이미지에서 특정 문자 가져와서 저장하기 2023.09.14 76530
908 컴퓨터잡담 CANON PRINTER ERROR CODE B203, B204 해결방법 2023.09.17 76127
907 파이썬 파이썬 랜덤으로 시험문제 풀기 file 2023.10.04 73086
906 컴퓨터잡담 엑셀 색깔 지정 함수 1 2010.07.28 65609
905 파이썬 파이썬 requestsbeautifulsoup 으로 웹 input에 입력값 대입한 뒤 결과값 파일로 저장하기 2023.11.13 64476
904 컴퓨터잡담 MYSQL 미 해결 과제 : Can't connect to MySQL server on 'localhost'(10055) 3 3 2009.11.21 64231
903 컴퓨터잡담 php로 이미지를 mysql디비 저장하고 보여주는 소스 4 3 2009.10.17 62322
902 컴퓨터잡담 여러개의 엑셀파일을 하나로 합치기 2 2010.06.22 57409
901 HTMLPHPMSQL 지정한 이미지파일명을 출력 시키는 시험문제풀이 html 1 2023.12.13 54995
900 컴퓨터잡담 오류 socket error #10061 connection 3 2 2010.09.25 54123
899 AutoHotKey AHK) AUTOKEY 웹페이지 열지않고 소스 가져오기 또는 로그인 하기 14 2012.05.12 52952
898 Visual C++ VBS) VBScript Telnet log save 2013.09.21 51931
Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소