搞量化?不知道这篇可不可以帮你入门

本文介绍了使用Python结合OKEx V5 API进行量化交易的入门方法,提供了自动挂单、买卖的工具代码,适用于稳定币的低买高卖策略。但作者强调谨慎入市,仅提供工具,风险自负。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在无论是bi'an还是ok,无论是股票还是基金,但凡我们是一颗有上进心的韭菜,在摸鱼时,或多或少都听过马丁策略,网格,均线等等,针对这些策略我们除了具备多年来被割的经验,还要具备一定编码能力等。所以,我也是结合闲暇时间,搞了搞ok中的V5 API,通过低买高卖的方式频繁交易,帮你自动挂卖单,买单。

注意:适用于稳定币,且涨幅差距大这样的场景。

 特别说明:请谨慎入市,只提供工具代码,得失请自负

整体开发流程

 

代码

工具方法


# -*- coding: utf-8 -*-
__author__ = 'amcoder'
__time__ = '2022/5/31 14:06'
__desc__ = '欧意机器人方法类'

from urllib.parse import urljoin
import time
import json
import hmac
import base64
import requests


class OkRobot:

    def __init__(self, api_key, secret_key, pass_phrase, base_url=None):
        self.__api_key = api_key
        self.__secret_key = secret_key
        self.__pass_phrase = pass_phrase
        self.__base_url = base_url or "https://www.ouyicn.website"

    # 封装request请
    def request(self, method, uri, params=None, body=None, headers=None, auth=False):
        if params:
            query = "&".join(["{}={}".format(k, params[k]) for k in sorted(params.keys())])
            uri += "?" + query
        url = urljoin(self.__base_url, uri)
        if auth:
            time_stamp = (str(time.time()).split(".")[0] + "." + str(time.time()).split(".")[1][:3])
            if body:
                body = json.dumps(body)
            else:
                body = ""
            message = str(time_stamp) + str.upper(method) + uri + str(body)
            mac = hmac.new(bytes(self.__secret_key, encoding="utf8"), bytes(message, encoding="utf-8"), digestmod="sha256")
            d = mac.digest()
            sign = base64.b64encode(d)
            if not headers:
                headers = {}
            headers["Content-Type"] = "application/json"
            headers["OK-ACCESS-KEY"] = self.__api_key
            headers["OK-ACCESS-SIGN"] = sign
            headers["OK-ACCESS-TIMESTAMP"] = str(time_stamp)
            headers["OK-ACCESS-PASSPHRASE"] = self.__pass_phrase
        result = requests.request(method, url, data=body, headers=headers, timeout=10)
        result_json = json.loads(result.text)
        if result_json["code"] and result_json["code"] != "0":
            return None, result_json
        return result_js
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我教你啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值