首页 > 编程语言 >python连接okx查询自己的持仓【量化交易】

python连接okx查询自己的持仓【量化交易】

时间:2024-12-18 20:20:29浏览次数:7  
标签:python okx 查询 df imr res import datetime columns

 

需要安装ccxt

以下代码在jupyter中运行

需要去app中获取自己的apiKey、secret、password,才能查到自己的个人持仓情况

根据自己的代理设置proxies

import ccxt
import pandas as pd
import time
from IPython.display import clear_output
import traceback
from datetime import datetime

exchange = ccxt.okex({
    'apiKey': 'xxx',
    'secret': 'xxx',
    "password":"xxx",
    'timeout': 30000,
    'enableRateLimit': True,
    "proxies":{
        "http":"http://127.0.0.1:10809",
        "https":"http://127.0.0.1:10809",
    }
})


# 设置中文列名
cn_columns = {
    'instId': '名称',
    'entryPrice': '入场价格',
    'markPx': '标记价格',
    'liqPx': '清算价格',
    'unrealizedPnl': '收益',
    'percentage': '收益率'
}
all_df = []
while 1:
    try:
        res = exchange.fetchBalance()
        
        df = pd.DataFrame([{**item["info"],**item}  for item in exchange.fetchPositions()])
        if df.shape[0]:
            imr = df["imr"].apply(lambda x:"%.2f%%"% (float(x) /  res["total"]["USDT"] * 100) )
            df = df[cn_columns.keys()].rename(columns=cn_columns)
            df['时间'] = datetime.now().strftime('%H:%M:%S')
            df["当前金额"] = res["total"]["USDT"] * 7.2755
            df["清算价格"] = df["清算价格"].astype(float).round(2)
            df["收益率"] = df["收益率"].apply(lambda x: "%.2f%%"%float(x))
            df["仓位占比"] = imr
            all_df = [df] + all_df
            all_df = all_df[:10]
            clear_output(wait=True)
            display(pd.concat(all_df))
        else:
            clear_output(wait=True)
            display( res["total"]["USDT"] * 7.2755)
            # break
    except:
        traceback.print_exc()
        break

运行结果:

 

 

标签:python,okx,查询,df,imr,res,import,datetime,columns
From: https://www.cnblogs.com/youmuchen/p/18615787

相关文章

  • python毕设 社区住户信息管理系统论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于社区住户信息管理系统的研究,现有研究多聚焦于大型企业或特定行业的信息管理,专门针对社区住户信息管理系统的研究相对较少。在国内......
  • python毕设 美容店服务管理系统论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于美容店服务管理系统的研究,现有研究主要以传统的管理模式为主,专门针对利用python开发美容店服务管理系统的研究较少 1。在国内外,......
  • 如何用anaconda管理python环境
    安装首先就是安装anaconda,直接去官网下就行创建环境安装好后可以看到有这些文件单击打开AnacondaPrompt,可以看到以下画面,默认环境是base当我们想学习某项技术或编写某程序时可能会用到不同的python版本,那么可以在这里创建新环境,命令为condacreate-n环境名字pyth......
  • SqlServer运维——查询阻塞
    目录0.演示阻塞1.基于sys.dm_exec_requests视图2.在MSSM中通过“活动和监视器”查看3.完整脚本查询阻塞0.演示阻塞首先MSSM中打开一个查询会话,这个是进程68执行一个更新操作,但是不提交事务BEGINTRANSACTIONUPDATEdbo.AAMyTestMsgSET Mes='1'WHERECreateTime='202......
  • Python如何实现多线程
    Python中可以通过threading模块实现多线程编程。以下是一些关键点和示例代码:1.导入threading模块首先,你需要导入Python的threading模块,这个模块提供了创建和管理线程所需的类和函数。2.定义一个线程函数线程函数是线程执行的任务。这个函数将在新线程中运行。3.创建......
  • Python面试常见问题及答案11
    问题:Python中如何删除列表中的重复元素?答案:可以使用set函数,因为set是一个无序且不重复的元素集。将列表转换为set,然后再转换回列表即可去除重复元素。例如:a=[1,2,4,2,4,5,6,5,7,8,9,0];b=set(a);c=list(b),此时c为去重后的列表。问题:Python中的lambda函数是什么?它有什......
  • 学霸带你游戏化理解 Python 装饰器与生成器
    使代码更高效在现代Python开发中,装饰器和生成器为编程提供了强大的功能和灵活性。它们不仅能帮助程序员优化性能,还能使代码结构更加简洁、清晰。装饰器通过增强现有函数的功能,使得代码更具可扩展性和重用性;生成器则通过惰性求值提高内存效率,让你能够高效处理大规模数据。无......
  • SQL 多表查询实战:使用 WHERE 实现表关联
    在日常数据库开发中,我们经常需要从多个表中获取相关的数据。通常,开发者会使用JOIN来连接不同的表,但其实也可以通过使用WHERE子句来实现多表查询。虽然JOIN是更为常见的做法,但通过WHERE来控制多个表的关联也是一种有效的方法。本文将通过一个具体的例子,展示如何利用WHE......
  • 一文读懂MySQL创建索引技巧,让你的查询**嗖一下**就快起来
    一文读懂MySQL创建索引技巧,让你的查询嗖一下就快起来!......
  • GaussDB高性能关键技术——查询重写RBO
    在数据库里RBO基于规则的优化一般指查询重写技术,按照一系列关系代数表达式的等价规则,对查询的关系代数表达式进行等价转换,从逻辑上减少执行的总量从而提高查询执行效率,例如,通过条件的推导得出非必要的表扫描、避免非必要的计算表示等。查询重写RBO优化是非常重要的一种逻辑优化......