我们不一定要学会怎么去创造一个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将持续优化和拓展其产品与服务,不断提升用户体验,让大家在智能科技的陪伴下享受更加丰富多彩的生活。