[암호화폐] defi의 현재 실제 수익률 계산

in SCT.암호화폐.Crypto3 years ago (edited)

defi 수익률은 웹 페이지에 나오는 수치를 믿는 수 밖에 없습니다. 그런데 채굴 토큰의 가격의 변동성이 워낙 크기 때문에 실질 수익률이 얼마나 나올지는 아무도 모릅니다.

그래서 계산해보았습니다.

우선 수익률을 계산하려면 투자 금액을 계산하여야 합니다. LP별 투자 금액을 계산하는 방법은 아래 글을 참고하세요.

파이썬을 이용하여 특정 DeFi에 투자한 총 금액 확인하기

현재 수익률을 계산하려면 gov. token 가격을 확인해야하는데요. coingecko에서도 확인할 수 있지만 lp를 이용하여 gov. token의 현재 값을 구하는 것이 가장 정확합니다.

이미 소개한 get_bsc_token_price() 함수를 이용하면 원하는 토큰의 현재 값을 구할 수 있습니다. 처음에 get_bsc_token_price() 함수를 만들 때는 아래와 같은 방식의 api를 정의하였는데요. 사용해보니 많이 불편합니다. 그래서 lp 이름만 넘겨주면 알아서 각 토큰의 smart contract 주소를 뽑는 방식으로 수정을 해야할 듯합니다.

def get_defi_token_price() :
    CUR_PRICE['PANTHER'] = get_bsc_token_price(sc_addr['panther-bnb'], sc_tokens['panther'], sc_tokens['bnb'], 1)
    CUR_PRICE['JAGUAR'] = get_bsc_token_price(sc_addr['jaguar-bnb'], sc_tokens['jaguar'], sc_tokens['bnb'], 1)
    CUR_PRICE['AOT'] = get_bsc_token_price(sc_addr['aot-bnb'], sc_tokens['aot'], sc_tokens['bnb'], 1)
    CUR_PRICE['SUKI'] = get_bsc_token_price(sc_addr['suki-bnb'], sc_tokens['suki'], sc_tokens['bnb'], 1)

    CUR_PRICE['GARUDA'] = get_bsc_token_price(sc_addr['garuda-busd'], sc_tokens['garuda'], sc_tokens['busd'])
    CUR_PRICE['CUB'] = get_bsc_token_price(sc_addr['cub-busd'], sc_tokens['cub'], sc_tokens['busd'])
    CUR_PRICE['SLION'] = get_bsc_token_price(sc_addr['slion-busd'], sc_tokens['slion'], sc_tokens['busd'])

LP에 투자한 금액, 채굴한 토큰의 가격 그리고 채굴한 토큰 수량까지 구했으니 수익률은 그냥 계산만하면 됩니다.

실행결과입니다. 각 DeFi 별 현재 채굴한 수량과 채굴 토큰의 현재가를 기준으로 현재 $가치 그리고 5분 마다 실행한 결과를 바탕으로 gov. token 가격의 변화 시간/일 APR 정보를 출력해줍니다.

각 LP 별 필요한 값을 검색하는데 시간이 많이 걸려서 화면에 나오는 수익률에서 20% 정도 빼야합니다. 정확한 값을 위해서는 작업을 좀 더 해야할 듯 합니다.

또한 DeFi에 따라 claim 할 때 일정 %를 수수료로 가져가는 경우도 있습니다. 따라서 전체적인 느낌만 보면 될 듯 합니다.

아직 개발 사항이 몇 가지 더 있어서 마무리한 다음에 소스를 공개하도록 하겠습니다.

주말 동안 작업하고 오늘 돌려보니, 신규 DeFi가 역시 수익률이 좋군요. 먹튀나 해킹만 잘 비켜갈 수 있으면 나라를 구할 수 있을 듯 합니다. -.-

Sort:  

[US$49.00](▼14%)[Nespresso]스타벅스 네스프레소 호환 캡슐 7종 / 120 캡슐 골라담기 / 20개씩 총 6종류 교차 선택 가능 / 중복 선택 가능 / 재고 확보 / 무료배송 / 개당 약 486원 최저가★

WWW.QOO10.COM

오늘도 열심히 개발하시는군요 트아형님
멋지십니다~!!

궁금해서 만들어봤습니다. ^^

꼭 나라를 구하시길 기원합니다

파이썬 저도 공부해야 하는데.. ㅠ

@tradingideas transfered 45 KRWP to @krwp.burn. voting percent : 59.03%, voting power : 83.06%, steem power : 1766032.88, STU KRW : 1200.
@tradingideas staking status : 11000 KRWP
@tradingideas limit for KRWP voting service : 44 KRWP (rate : 0.004)
What you sent : 45 KRWP
Refund balance : 1 KRWP [53648099 - b0ff7d4c61d5fbb1bb25029cf1584bf1ca1092a5]

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 66856.70
ETH 3114.05
USDT 1.00
SBD 3.75