python小项目推荐项目-Python 的练手项目有哪些值得推荐?
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
from vitu import ai, log, api
import numpy as np
# 配置账户初始持仓信息
ai.create_account(name='account1', exchange='binance', account_type='digital.spot',
position_base=[{'asset': 'BTC', 'qty': 10}, {'asset': 'USDT', 'qty': 100000}])
# 在这个方法中编写任何的初始化逻辑,context对象将会在你的算法策略的任何方法之间做传递
def initialize(context):
# 设置这个策略当中会用到的参数,在策略中可以随时调用
context.account = context.get_account('account1')
context.buy_order = list()
context.sell_order = list()
context.max_order = 10
context.qty = 0.2
context.short = 3 # 短均线周期
context.long = 21 # 长均线周期
context.length = 9 # RSI参数
context.oversold = 30 # 超卖
context.overbought = 70 # 超买
context.donchain = 21 # 唐其安通道参数
# 你选择的universe crypto的数据更新将会触发此段逻辑,例如日线历史数据或者是实时数据更新
def handle_data(context):
# 开始编写你的主要的算法逻辑
data = context.history('BTC/USDT.binance', ['close','high','low'], bars=context.long, rtype='ndarray')
close_price = data.T[0]
high_price = data.T[1]
low_price = data.T[2]
# 计算长短均线
MA_short = np.mean(close_price[-context.short:])
MA_long = np.mean(close_price[-context.long:])
# 计算RSI值
rsi_price = close_price[-context.length:]
RS_up = sum([max(rsi_price[i+1]-rsi_price[i], 0) for i in range(len(rsi_price)-1)])
RS_all = sum([abs(rsi_price[i+1]-rsi_price[i]) for i in range(len(rsi_price)-1)])
RS = RS_up / RS_all
RSI = (100*RS)/(1+RS)
# 唐奇安通道上轨
donchain_up = np.max(high_price[-context.donchain:])
# 唐奇安通道下轨
donchain_down = np.min(low_price[-context.donchain:])
# 获取最新价格
current_price = context.get_price("BTC/USDT.binance")
# 短期均线在长期均线之上,RSI处于超买值,创新高,则开多单(买入)
if len(context.buy_order) < context.max_order and MA_short > MA_long and RSI < context.overbought and high_price[-1]>high_price[-2]:
context.account.buy("BTC/USDT.binance", current_price, context.qty)
context.buy_order.append([current_price,context.qty])
# 短期均线在长期均线之下、RSI高于超卖值、创新低,则开空单(卖出)
if len(context.sell_order) < context.max_order and MA_short < MA_long and RSI > context.oversold and low_price[-1]
context.account.sell("BTC/USDT.binance", current_price, context.qty)
context.sell_order.append([current_price,context.qty])
# 持有多单时小于唐奇安通道下轨,平多单(卖出)
if len(context.buy_order) > 0 and current_price < donchain_up:
qty = context.buy_order[-1][1]
context.buy_order.pop()
context.account.sell("BTC/USDT.binance", current_price, qty)
# 持有空单时大于唐奇安通道下轨,平空单(买入)
if len(context.sell_order) > 0 and current_price > donchain_down:
qty = context.sell_order[-1][1]
context.sell_order.pop()
context.account.buy("BTC/USDT.binance", current_price, qty)
# 可以直接指定universe,或者通过筛选条件选择universe池
universe = ai.create_universe(['BTC/USDT.binance'])
# 配置策略参数如:基准、回测数据级别等
my_strategy = ai.create_strategy(
initialize,
handle_data,
universe=universe,
benchmark='csi5',
freq='d',
refresh_rate=1,
)
# 配置回测参数如:回测日期、手续费率
ai.backtest(
strategy=my_strategy,
start='2018-10-10',
end='2019-10-10',
commission={'taker': 0.0002, 'maker': 0.0002}
)
python小项目推荐项目-Python 的练手项目有哪些值得推荐?相关推荐
- python画画需要什么模块_python实战练手项目---使用turtle模块画奥运五环
python实战练手项目---使用turtle模块画奥运五环 2020年将举办东京奥运会,本篇实践文章将带你使用turtle模块画一个五环图,先来看效果图 1. 定义一个类继承Turtle class ...
- 微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器(一)
内容: 一.前言 二.相关概念 三.开始工作 四.启动项目起来 五.项目结构 六.设计理念 七.路由 八.部署线上后端服务 同步交流学习社区: https://www.mwcxs.top/page/4 ...
- Java黄金矿工小游戏,适合新手入门练手项目
Java初学者的小伙伴们,相信大家肯定缺少很多的练手项目吧!今天就给大家推荐一款特别好上手的一个Java小游戏--黄金矿工. 大家听到这个名字的时候,童年的回忆肯定一下子,涌上心头,那如果让大家制作一 ...
- python做什么生意好找_Python 的练手项目有哪些值得推荐?
注:下面分享的练习项目面向刚入门的Python学习者,项目的代码地址见结尾. Python 是一门虽然简单却很强大的编程语言.可能有些刚入门 Python 的朋友,虽然已经掌握了 Python 的基础 ...
- 学前端编程还没有做过项目?30个入门练手项目,你get了么?
不管我们要学习什么其实都是希望让自己做出"实际的东西"出,这个实际"实际的东西"其实说的就是做个项目,这不用多说大家都懂得. 这里小编我整理了30个web前端实 ...
- python爬取酒店信息_Python 爬虫练手项目—酒店信息爬取
from bs4 import BeautifulSoup import requests import time import re url = 'http://search.qyer.com/ho ...
- 有什么值得推荐的Java Web练手项目?
https://www.zhihu.com/question/29444491 转载于:https://www.cnblogs.com/jrsflak/p/7880849.html
- 10个相见恨晚的 Java 在线练手项目
前一篇:?[清单]37个超棒的 Web 数据可视化工具 Java 开发简单的计算器 难度为一般,适合具有 Java 基础和 Swing 组件编程知识的用户学习 推荐指数:????? 在线实操链接 制作 ...
- [C++练手项目] DocAnalysis
[C++练手项目] DocAnalysis 文章目录 [C++练手项目] DocAnalysis 任务分析 编码 转换DOC文件到TXT 分词 停止词 两文档相同和不同字符数统计 总体实现思路 一.分 ...
- python新手小项目-推荐:一个适合于Python新手的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
最新文章
- [BUUCTF-pwn]——others_shellcode
- php-fpm backlog 项的调整
- cgcs2000高斯平面直角坐标_8年级开学第一课:数系扩充到实数,几何模型搬到直角坐标系...
- Netty in action—ChannelHandler和ChannelPipeline
- vs 2005應用2003框架
- 软件基本功:以视频通话为例,交叉测试表格
- 湖南大学应用经济学考研考情与难度、参考书及上岸前辈备考经验
- 一个宝爸对孩子幼儿园成长的思考,我写了6000字的总结
- 山东理工oj答案java_山东理工大学ACM程序设计竞赛-山东理工ACM主页.DOC
- 存根类 Stub详解
- 嵌入式系统 ---> 程序存储器和数据存储器
- python 爬取数据(CBA所有球队数据) -爬虫
- “蔚来杯“2022牛客暑期多校训练营5-A Don‘t Starve
- Spring boot集成RabbitMQ
- 每日一犬 · 猴头梗
- RK3588 AP6398RS3之WIFI调试(一)
- 【初篇】DHT11连接STM32、One wire单总线原理、GPIO代码详解
- 最新最全的校园跳蚤小程序,二手商城小程序,二手书城小程序,带五星评分功能,发布商品,模糊搜索,评论,校园论坛功能
- 麦克风阵列技术 三 ( 声源定位 波束形成 去混响 麦克风阵列结构设计 声学结构确认流程)
- Python可视化数据分析02、Scrapy框架-强化测试Scrapy-CSS
热门文章
- git版本分支和分支、分支和主分支切换
- Git CMD - show: Show various types of objects
- JAVA线程本地变量ThreadLocal和私有变量的区别
- 自学python找工作难吗-大四应届毕业生,学了两个月Python,找工作感觉好难啊?...
- python在财务上的应用-财会人必看:这个工具,30分钟可以把人家一天的工作都给干完!...
- 自学python可以做什么兼职-一行生财:毕业100天,通过副业赚(挣)到我的第一个10w...
- python怎么读取txt文件内容然后保存到excel-Python实现读取txt文件并转换为excel的方法示例...
- python使用界面-(八)Python 图形化界面设计
- python主要用来开发什么-python主要用于什么开发
- python手机版怎么用-QPython,一个在手机上运行Python的神器