5分钟用AI写出1000%收益率的交易策略

越越谈趣事 2024-08-20 15:23:05

我们不一定要学会怎么去创造一个AI,但是一定要懂得去使用和驾驭它。这期主要介绍无需编程知识,我们将手把手教你如何打造个性化交易机器。

我们以大家常见的 MACD 指标为例。

我向 「AI- python」专家 提问:“使用 python3 完成一份 MACD 技术指标的交易代码。”

AI 立马给我生成了以下内容:

import ccxt

import pandas as pd

import numpy as np

from ta.trend import MACD

# 初始化交易所实例

exchange = ccxt.binance({

'apiKey': 'YOUR_API_KEY',

'secret': 'YOUR_SECRET_KEY',

'enableRateLimit': True,

})

# 获取市场信息

symbol = 'BTC/USDT'

market = exchange.load_markets()[symbol]

# 计算 MACD 指标

def calculate_macd(data):

macd = MACD(data['close'], window_slow=26, window_fast=12, window_sign=9)

return macd

# 交易策略

def macd_strategy(data):

macd = calculate_macd(data)

macd_signal = macd.macd_signal()

macd_diff = macd.macd_diff()

if macd_diff[-1] > macd_signal[-1] and macd_diff[-2] < macd_signal[-2]:

return 'buy'

elif macd_diff[-1] < macd_signal[-1] and macd_diff[-2] > macd_signal[-2]:

return 'sell'

else:

return 'hold'

# 下单

def place_order(exchange, symbol, side, quantity, price=None):

if price is None:

order = exchange.create_limit_buy_order(symbol, quantity) if side == 'buy' else exchange.create_limit_sell_order(symbol, quantity)

else:

order = exchange.create_limit_order(symbol, quantity, price)

return order

# 交易逻辑

def trade(exchange, symbol, macd_strategy):

# 获取历史数据

ohlcv = exchange.fetch_ohlcv(symbol, '1h')

df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])

df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')

df.set_index('timestamp', inplace=True)

# 计算 MACD

df['macd'] = calculate_macd(df)['macd']

df['macd_signal'] = calculate_macd(df)['macd_signal']

df['macd_diff'] = calculate_macd(df)['macd_diff']

# 执行交易策略

strategy = macd_strategy(df)

if strategy == 'buy':

quantity = 0.001 # 交易的 BTC 数量

price = df['close'][-1]

order = place_order(exchange, symbol, 'buy', quantity, price)

print(f"Buy order placed: {order}")

elif strategy == 'sell':

quantity = 0.001 # 交易的 BTC 数量

price = df['close'][-1]

order = place_order(exchange, symbol, 'sell', quantity, price)

print(f"Sell order placed: {order}")

else:

print("Hold strategy")

# 运行交易逻辑

trade(exchange, symbol, macd_strategy)

到这个环节,其实 MACD 指标的逻辑AI」就已经帮你写进去了,恭喜你迈出了第一步。

但是别高兴太早,AI 写的代码对于程序员来说可以简单复用,但对于小白而言无异于“砒霜”。

因为 AI 写的代码是无法支持你在国内任何交易平台进行代码复制使用的。目前在期货/外汇量化领域,除去自己搭建量化交易框架的量化交易员外,大部分量化人都借助了「开发平台的力量」,以目前常见的期货/外汇开发平台为例:

一、期货

文华财经

无限易 - pythongo

天勤量化 - tqsdk

tbquant

二、外汇

MetaEditor

tradingview

上述基本都支持以 python/MQL/Pine等语言进行量化交易策略编写,而他们的交易策略形成都建立在自身封装的「库」。

怎么理解封装库的概念呢?如石斧这些工具,就相当于被封装的函数,而整个部落里所有的封装函数就能组成一个库。

这些库的存在是为了更方便工具的使用与传播。比如你在不使用平台库时,可能得自己写期货数据接口,数据切片分装,tick、bar的合成,交易执行逻辑,简单技术指标构成等等。但是在使用库后,大部分重复工作都已经被封装好。只需要你简单调用就行。

不过需要注意的是,编写的代码并不能直接复用,AI 经常会写出奇奇怪怪的代码,你还是得对你所使用平台的 api文档有所熟悉,起码知道最基本的框架构成才行,不然 AI怎么写你都在平台用不了。

AI 时代的到来的确给我们带来了很多便利,部分不太熟悉编程语言的入门量化交易员也可以利用海投AI 进行代码编写、完成策略回测和量化交易。

但是 AI编程依然有缺陷,它对于使用人的能力要求很高,你不能期望自己什么编程语言都不懂就利用 AI 进行量化交易。

AI 目前还不能完全替代你的“手”,但是它可以成为一位好的”老师”,能够指导你学习编程语言乃至于交易策略的编写。请学会使用 AI 。学会使用它才能让你跟随时代而进步,不至于在浪潮中被拍死在沙滩上。

AI具备多种功能,无论是作为工作上的得力助手、学习中的智能导师,还是日常娱乐的贴心伴侣,都能胜任。用户只需在移动设备上轻松操作,就能随时随地体验到智能化服务带来的便利和乐趣。未来,Ai将持续优化和拓展其产品与服务,不断提升用户体验,让大家在智能科技的陪伴下享受更加丰富多彩的生活。

0 阅读:11

越越谈趣事

简介:感谢大家的关注