Coder Social home page Coder Social logo

deltatrader's Introduction

DeltaTrader

py37 version

DeltaTrader,致力于打造一个极简好用的程序化交易框架,便于个人投资者优化自己的交易系统。

主要包含4大功能:获取行情数据(data)、创建交易策略(strategy)、计算评估指标并完成回测(backtest),以及模拟实盘交易(trader)的部分。

合作招募

有意向重构or进行功能优化的,欢迎合作,微信:DeltaF_

简介

DeltaTrader是一个开源的量化交易接口,实现自动交易从未那么简单。

使用不到10行代码,你就可以获取任意A股数据,并实现自动化交易。

安装

可以通过clone该项目,实现引用。

简单入门实例

有了DeltaTrader,如果你想要获取股票数据,只需要这样:

import data.stock as st

data = st.get_single_price(code='000001.XSHE',
                           time_freq='daily',
                           start_date='2021-01-01',
                           end_date='2021-02-01')

数据导出

将数据导出为.csv格式:

import data.stock as st

data = st.get_single_price(code='000001.XSHE')

st.export_data(data=data, filename='000001.XSHE', type='price')

功能模块

  • 行情数据:目前提供2中数据源获取方式(JQData数据接口、财经网站爬虫)
  • 策略模型
  • 自动化交易

参与作者

  • deltaf: 构架及维护Python3版本
  • ACE:实时爬取财经网站股票行情数据

(待添加)

问题和建议

如果有什么问题或者建议都可以在这里和我讨论

deltatrader's People

Contributors

acekylin avatar arrowarcher avatar delta-f avatar on3o avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deltatrader's Issues

strategy模块里面base的calculate_portfolio_return方法疑问

我想问问strategy模块里面base的calculate_portfolio_return方法,如果某只股票的signal是-1,意思是做空该股票吗?
比如2020-02-29股票sz.000001的signal是-1,2020-03-31的收益率是-0.117241,如果按照-1*(-0.117241)计算的话,收益率是正,2020-02-29股票的signal是-1,那么那时应该是已经卖出股票,3月份时这个股票应该是没有收益,除非是做空股票
def calculate_portfolio_return(data, signal, n): ''' 投资组合收益率(等权重) = 收益率之和 / 股票个数 :param data: :param signal: :param n: :return: ''' # 投资组合收益率(等权重) print((signal * data.shift(-1)).T) returns = (signal * data.shift(-1)).T.sum() / n return returns.shift(1) # 匹配对应的交易月份

有人遇到过这个问题?32-bit application should be automated using 32-bit Python (you use 64-bit Python)

E:\ProgramData\miniconda3\lib\site-packages\pywinauto\application.py:1062: UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python)
warnings.warn(
Traceback (most recent call last):
File "D:\develop\python\DeltaTrader\trader\etrader.py", line 19, in
user.connect(r'D:\同花顺软件\同花顺\xiadan.exe') # 类似 r'C:\htzqzyb2\xiadan.exe'
File "E:\ProgramData\miniconda3\lib\site-packages\easytrader\clienttrader.py", line 118, in connect
self._main = self._app.top_window()
File "E:\ProgramData\miniconda3\lib\site-packages\pywinauto\application.py", line 1133, in top_window
raise RuntimeError("No windows for that process could be found")
RuntimeError: No windows for that process could be found

Process finished with exit code 1

功能与意见反馈

任何有关于功能的优化建议,都欢迎在此提出,也欢迎多多star和fork本项目,并参与构建。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.