标签归档:Python

Vnpy 基于Python的开源量化交易平台开发框架

vn.py是一套基于Python的开源量化交易系统开发框架,于2015年年1月正式发布,在开源社区6年持续不断的贡献下一步步成长为全功能量化交易平台,目前国内外金融机构用户已经超过600家,包括:私募基金、证券自营和资管、期货资管和子公司、高校研究机构、自营交易公司、交易所、Token Fund等。

全新的“vn.py全实战进阶”系列在线课程,已经在官方微信公众号[vnpy-社区访问数/每百万人:上线,覆盖cta策略(已完成)、期权波动率交易(更新中)等内容.购买请扫描下方二维码关注后,点击菜单栏的[进阶课程]按钮即可:

在使用vn.py进行二次开发(策略、模块等)的过程中有任何疑问,请查看vn.py项目文档,如果无法解决请前往官方社区论坛的[提问求助]板块寻求帮助,也欢迎在[经验分享]板块分享你的使用心得!

针对vn.py的金融机构用户,创建了一个专门的[vn.py机构用户群](QQ群号:676499931),主要分享机构应用方面相关的问题,如:银行间市场接入、资管O32系统、分布式部署等内容。请注意本群只对金融机构用户开放,加群时请注明:姓名-机构-部门.

功能特点

  1. 全功能量化交易平台(vnpy.trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的接口,用于快速构建交易员所需的量化交易应用。
  2. 网关(vnpy.覆盖国内外所有交易品种的交易接口):
    • 国内市场
      • ctp(Ctp):国内期货、期权
      • CTP Mini(迷你):国内期货、期权
      • ctp证券(Sopt):etf期权
      • 飞马(女性):国内期货
      • 用友金融(恒生):国内期货、ETF期权
      • 飞创证券(秒):etf期权
      • 南华nhtd(Nhtd):国内期货、etf期权
      • 宽睿(OES):国内证券(A股)、ETF期权
      • 中泰xtp(Xtp):国内证券(A股)、etf期权
      • 国泰君安:国内证券(A股)
      • 恒生期权(Hsoption):etf期权
      • 华鑫奇点(TORA):国内证券(A股)、ETF期权
      • 星巴克(飞鼠):黄金TD、国内期货
      • 金仕达黄金(KS黄金):黄金TD
      • 鑫管家(Xgj):期货资管
      • 融航(罗洪):期货资管
      • 康星(中汇亿达):银行间市场
    • 海外市场
      • 富途证券(富图):港股、美股
      • 老虎证券(老虎):全球证券、期货、期权、外汇等
      • 互动经纪人(Ib):全球证券、期货、期权、外汇等
      • 易盛9.0外盘(TAP):全球期货
      • 直达期货(Da):全球期货
      • MetaTrader5(MT5):外汇、cfd、期货、股票
      • 羊驼(羊驼):美股(零佣金)
      • 卡西亚(佳兆业投资):港股
    • 数字货币
      • bitmex(Bitmex):数字货币期货、期权、永续合约
      • BYBIT(BYBIT):数字货币永续合约
      • 币安(二进制):数字货币现货
      • 币安永续(二进制):数字货币永续合约
      • OKEX(OKEX):数字货币现货、期货、永续、期权(V5统一账户)
      • 火币(火壁):数字货币现货
      • 火币期货(Hoobif):数字货币期货
      • 火币永续(霍比斯):数字货币永续
      • 霍比奥(火币期权):数字货币期权
      • Gate.io永续(Gateios):数字货币永续合约
      • 派生比特(派生比特),数字货币期权、永续合约
      • Bitfinex(Bitfinex):数字货币现货
      • Coinbase(Coinbase):数字货币现货
      • 位戳(位戳):数字货币现货
      • 1Token(一个Token):数字货币券商(现货、期货)
    • 特殊应用
      • rpc服务(Rpc):跨进程通讯接口,用于分布式架构
  3. 开箱即用的各类量化策略交易应用(vnpy.app):
    • cta_Strategy:cta策略引擎模块,在保持易用性的同时,允许用户针对cta类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)
    • cta_backtester:cta策略回测模块,无需使用Jupyter笔记本,直接使用图形界面直接进行策略回测分析、参数优化等相关工作
    • 价差交易:价差交易模块,支持自定义价差,实时计算价差行情和持仓,支持半自动价差算法交易以及全自动价差策略交易两种模式
    • OPTION_MASTER:期权交易模块,针对国内期权市场设计,支持多种期权定价模型、隐含波动率曲面计算、希腊值风险跟踪等功能
    • Portfolio_Strategy:组合策略模块,面向同时交易多合约的量化策略(阿尔法、期权套利等),提供历史数据回测和实盘自动交易功能
    • ALGO_TRADING:算法交易模块,提供多种常用的智能交易算法:twap、狙击手、冰山、BestLimit等,支持对接外部智能算法交易服务(如金纳算法)
    • SCRIPT_TRADER:脚本策略模块,针对多标的组合类交易策略设计,同时也可以直接在命令行中实现repl指令形式的交易,不支持回测功能
    • 市场雷达:市场雷达模块,允许用户基于自定义的公式实时计算任意合约组合数据,公式支持标准Python运算语法以及内置函数
    • 纸质帐户:模拟交易模块,纯本地化实现的模拟交易功能,基于交易接口获取的实时行情进行委托撮合,提供委托成交推送以及持仓记录
    • Chart_Wizard:k线图表模块,基于RQ Data数据服务(期货)或者交易接口(数字货币)获取历史数据,并结合Tick推送显示实时行情变化
    • Portfolio_MANAGER:投资组合模块,面向各类基本面交易策略,以独立的策略子账户为基础,提供交易仓位的自动跟踪以及盈亏实时统计功能
    • rpc_SERVICE:rpc服务模块,允许将某一VN Trader进程启动为服务端,作为统一的行情和交易路由通道,允许多客户端同时连接,实现多进程分布式系统
    • DATA_MANAGER:历史数据管理模块,通过树形目录查看数据库中已有的数据概况,选择任意时间段数据查看字段细节,支持csv文件的数据导入和导出
    • 数据记录器:行情记录模块,基于图形界面进行配置,根据需求实时录制Tick或者K线行情到数据库中,用于策略回测或者实盘初始化
    • EXCEL_RTD:EXCEL RTD(实时数据)实时数据服务,基于PYXLL模块实现在EXCEL中获取各类数据(行情、合约、持仓等)的实时推送更新
    • RISK_MANAGER:风险管理模块,提供包括交易流控、下单数量、活动委托、撤单总数等规则的统计和限制,有效实现前端风控功能
  4. python交易接口接口封装(vnpy.api),提供上述交易接口的底层对接实现。
  5. 简洁易用的事件驱动引擎(vnpy.event),作为事件驱动型交易程序的核心。
  6. 对接各类数据库的标准化管理客户端(vnpy.database):
    • Sql类
      • sqlite(Sqlite):轻量级单文件数据库,无需安装和配置数据服务程序,vn.py的默认选项,适合入门新手用户
      • mysql(Mysql):世界最流行的开源关系型数据库,文档资料极为丰富,且可替换其他高newsql兼容实现(如tidb)
      • postgresql(Postgresql):特性更为丰富的开源关系型数据库,支持通过扩展插件来新增功能,只推荐熟手使用
    • Nosql类
      • mongodb(Mongodb):基于分布式文件储存(bson格式)的非关系型数据库,内置的热数据内存缓存提供更快读写速度
      • influxdb(Influxdb):针对时序数据专门设计的非关系型数据库,列式数据储存提供极高的读写效率和外围分析应用
  7. 跨进程通讯标准组件(vnpy.rpc),用于实现分布式部署的复杂交易系统。
  8. Python高性能K线图表(vnpy.Chart),支持大数据量图表显示以及实时数据更新功能。
  9. 社区论坛知乎专栏、内容包括vn.py项目的开发教程和Python在量化交易领域的应用研究等内容.
  10. 官方交流群262656087(QQ),管理严格(定期清除长期潜水的成员),入群费将捐赠给vn.py社区基金。

环境准备

  • 推荐使用vn.py团队为量化交易专门打造的Python发行版VNStudio-2.4.0,内置了最新版的vn.py框架以及VN站量化管理平台,无需手动安装
  • 支持的系统版本:Windows 7以上/Windows Server2008以上/Ubuntu18.04LTS
  • 支持的Python版本:Python3.764位(注意必须是Python3.764位版本)

安装步骤

这里下载最新版本,解压后运行以下命令安装:

窗口

install.bat

Ubuntu

bash install.sh

使用指南

  1. SimNow注册CTP仿真账号,并在该页面获取经纪商代码以及交易行情服务器地址.
  2. vn.py社区论坛注册获得VN站账号密码(论坛账号密码即是)
  3. 启动VN工作站(安装VN工作室后会在桌面自动创建快捷方式),输入上一步的账号密码登录
  4. 点击底部的VN Trader Lite按钮,开始你的交易!

注意:

  • 在VN交易员的运行过程中请勿关闭VN站(会自动退出)
  • 如需要灵活配置量化交易应用组件,请使用VN Trader Pro

脚本运行

除了基于VN站的图形化启动方式外,也可以在任意目录下创建run.py,写入以下示例代码:

from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp
from vnpy.gateway.ctp import CtpGateway
from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.cta_backtester import CtaBacktesterApp

def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    
    main_engine.add_gateway(CtpGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()

if __name__ == "__main__":
    main()

在该目录下打开Cmd(按住Shift->点击鼠标右键->在此处打开命令窗口/powershell)后运行下列命令启动VN交易员:

python run.py

贡献代码

vn.py使用github托管其源代码,如果希望贡献代码请使用gihub的PR(拉取请求)的流程:

  1. 创建 Issue-对于较大的改动(如新功能,大型重构等)最好先开Issue讨论一下,较小的Improval(如文档改进,BUGFIX等)直接发PR即可)
  2. 叉子vn.py–点击右上角叉子按钮
  3. 克隆你自己的分叉:git clone https://github.com/$userid/vnpy.git
    • 如果你的分叉已经过时,需要手动同步:同步方法
  4. 开发人员创建你自己的功能分支:git checkout -b $my_feature_branch dev
  5. 在$MY_FEATURE_BRANCH上修改并将修改推送到你的分叉上
  6. 创建从你的分叉的$MY_FEATURE_BRANCH分支到主项目的开发人员分支的[拉取请求]-在此点击跨分叉进行比较,选择需要的Fork和分支机构创建PR
  7. 等待审查,需要继续改进,或者被合并!

在提交代码的时候,请遵守以下规则,以提高代码质量:

  • 使用autopep8格式化你的代码.运行autopep8 --in-place --recursive . 即可.
  • 使用flake8检查你的代码,确保没有Error和警告。在项目根目录下运行flake8即可.

项目捐赠

过去6年中收到过许多社区用户的捐赠,在此深表感谢!所有的捐赠资金都投入到了vn.py社区基金中,用于支持vn.py项目的运作。

先强调一下:vn.py是开源项目,可以永久免费使用,并没有强制捐赠的要求!

捐赠方式:支付宝3216630132@qq.com(*晓优)

长期维护捐赠清单,请在留言中注明是项目捐赠以及捐赠人的名字.

其他内容

版权说明

麻省理工学院

Graal-GraalVM:在🚀任何地方更快地运行程序

GraalVM是一个通用虚拟机,用于运行以JavaScript、Python、Ruby、R、基于JVM的语言(如Java、Scala、Clojure、Kotlin)以及基于LLVM的语言(如C和C++)编写的应用程序

项目网站为https://www.graalvm.org描述如何get started,如何stay connected,以及如何contribute

存储库结构

GraalVM主源存储库包括下面列出的组件。每个组件的文档都包括该组件的开发人员说明

  • GraalVM SDK包含长期支持的GraalVM API
  • GraalVM compiler用JAVA编写,支持动态编译和静电编译,可以与JAVA HotSpot VM集成,也可以独立运行
  • Truffle用于创建GraalVM的语言和工具的语言实现框架
  • Tools包含一组使用规范框架实现的GraalVM语言的工具
  • Substrate VM允许在封闭假设下提前(AOT)将Java应用程序编译为可执行映像或共享对象的框架
  • Sulong是用于在GraalVM上运行LLVM位码的引擎
  • GraalWasm是一个用于在GraalVM上运行WebAssembly程序的引擎
  • TRegex是正则表达式的实现,它利用GraalVM高效编译自动机
  • VM包括构建模块化GraalVM映像的组件
  • VS Code提供对Visual Studio代码的扩展,以支持使用GraalVM开发多语言应用程序

获得支持

相关存储库

GraalVM允许使用Truffle和GraalVM编译器在使用GraalVM内核的相关存储库中开发和测试的以下语言运行。这些是:

许可证

每个GraalVM组件均获得许可:

Poetry 简化Python依赖项管理和打包

诗歌:Python的依赖项管理

POLITY可帮助您声明、管理和安装Python项目的依赖项,确保您随时随地都拥有正确的堆栈

支持Python 2.7和3.5+

注意事项:在下一个功能版本(1.2)中将不再支持Python 2.7和3.5。您应该考虑将Python版本更新为支持的版本

这个complete documentation可在official website

安装

POLITY提供了一个自定义安装程序,该安装程序将安装poetry与您系统的睡觉隔离

osx/linux/bashonwindows安装说明

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -

Windows PowerShell安装说明

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py -UseBasicParsing).Content | python -

警告:上一次get-poetry.py安装程序现在已弃用,如果您当前正在使用它,则应迁移到新的、受支持的install-poetry.py安装程序

安装程序将安装poetry诗歌的工具bin目录。此位置取决于您的系统:

  • $HOME/.local/bin对于Unix
  • %APPDATA%\Python\Scripts在Windows上

如果此目录不在您的PATH,您需要手动添加,如果您想要用简单的poetry

或者,您可以使用完整路径来poetry使用它

一旦安装了Poetry,您就可以执行以下操作:

poetry --version

如果你看到类似这样的东西Poetry (version 1.2.0)那么您就可以使用诗歌了。如果您认为“诗歌”不适合您,您可以通过使用以下命令再次运行安装程序将其从系统中完全删除--uninstall选项,或通过将POETRY_UNINSTALL环境变量,然后执行安装程序

python install-poetry.py --uninstall
POETRY_UNINSTALL=1 python install-poetry.py

默认情况下,“诗歌”安装到用户特定于平台的主目录中。如果您希望更改此设置,您可以定义POETRY_HOME环境变量:

POETRY_HOME=/etc/poetry python install-poetry.py

如果要安装预发行版本,可以通过传递--preview选项以执行以下操作install-poetry.py或使用POETRY_PREVIEW环境变量:

python install-poetry.py --preview
POETRY_PREVIEW=1 python install-poetry.py

同样,如果要安装特定版本,可以使用--version选项或POETRY_VERSION环境变量:

python install-poetry.py --version 1.2.0
POETRY_VERSION=1.2.0 python install-poetry.py

您还可以为git存储库通过使用--git选项:

python install-poetry.py --git https://github.com/python-poetry/poetry.git@master

注意事项:请注意,安装程序不支持Python<3.6

正在更新poetry

将诗歌更新到最新的稳定版本非常简单,只需调用self update命令

警告:使用现已弃用的软件安装的诗歌版本get-poetry.py安装程序将无法使用此命令更新到1.2版或更高版本。迁移到使用install-poetry.py安装程序或pipx

poetry self update

如果要安装预发行版本,可以使用--preview选项

poetry self update --preview

最后,如果要安装特定版本,可以将其作为参数传递给self update

poetry self update 1.2.0

启用Bash、Fish或Zsh的制表符完成

poetry支持为Bash、Fish和Zsh生成完成脚本。看见poetry help completions获取完整的详细信息,但要点很简单,只需使用以下选项之一:

# Bash poetry completions bash > /etc/bash_completion.d/poetry.bash-completion # Bash (Homebrew) poetry completions bash > $(brew --prefix)/etc/bash_completion.d/poetry.bash-completion # Fish poetry completions fish > ~/.config/fish/completions/poetry.fish # Fish (Homebrew) poetry completions fish > (brew --prefix)/share/fish/vendor_completions.d/poetry.fish # Zsh poetry completions zsh > ~/.zfunc/_poetry # Zsh (Homebrew) poetry completions zsh > $(brew --prefix)/share/zsh/site-functions/_poetry # Zsh (Oh-My-Zsh) mkdir $ZSH_CUSTOM/plugins/poetry poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry # Zsh (prezto) poetry completions zsh > ~/.zprezto/modules/completion/external/src/_poetry

注:您可能需要重新启动shell才能使更改生效

zsh,则必须在您的~/.zshrc在此之前compinit(不适用于自制安装):

fpath+=~/.zfunc

引言

poetry是一个处理依赖项安装以及构建和打包Python包的工具。它只需要一个文件就可以完成所有这些任务:新的、standardizedpyproject.toml

换句话说,诗歌使用pyproject.toml替换setup.pyrequirements.txtsetup.cfgMANIFEST.in和新添加的Pipfile

tool.poetry] name = "my-package" version = "0.1.0" description = "The description of the package" license = "MIT" authors = [ "Sébastien Eustace <sebastien@eustace.io>" ] readme = 'README.md' # Markdown files are supported repository = "https://github.com/python-poetry/poetry" homepage = "https://github.com/python-poetry/poetry" keywords = ['packaging', 'poetry'] [tool.poetry.dependencies] python = "~2.7 || ^3.2" # Compatible python versions must be declared here toml = "^0.9" # Dependencies with extras requests = { version = "^2.13", extras = [ "security" ] } # Python specific dependencies with prereleases allowed pathlib2 = { version = "^2.2", python = "~2.7", allow-prereleases = true } # Git dependencies cleo = { git = "https://github.com/sdispater/cleo.git", branch = "master" } # Optional dependencies (extras) pendulum = { version = "^1.4", optional = true } [tool.poetry.dev-dependencies] pytest = "^3.0" pytest-cov = "^2.4" [tool.poetry.scripts] my-script = 'my_package:main'

这里有一些我们可以注意到的事情:

  • 它将试图强制执行semantic versioning作为版本命名的最佳实践
  • 您可以指定自述文件、包含文件和排除文件:不能更多MANIFEST.inpoetry还将使用VCS忽略文件(如.gitignore)以填充exclude部分
  • 可以指定关键字(最多5个),并将其作为包装站点上的标签
  • 依赖关系部分支持脱字符、代字号、通配符、不等式和多个要求
  • 您必须指定软件包兼容的Python版本

poetry还将检测您是否在Virtualenv中,并相应地安装软件包。所以,poetry可以在全球范围内安装并在任何地方使用

poetry还附带一个完整的依赖项解析库

为什么?

Python中的打包系统和依赖项管理相当复杂,对于新手来说很难理解。即使对于经验丰富的开发人员来说,创建Python项目中所需的所有文件有时也可能很麻烦:setup.pyrequirements.txtsetup.cfgMANIFEST.in和新添加的Pipfile

因此,我想要一个工具,它可以将所有操作都限制在单个配置文件中来完成:依赖项管理、打包和发布

它需要从其他语言中存在的工具中获得灵感,比如composer(PHP)或cargo(生锈)

最后,我开始poetry为Python社区带来另一个详尽的依赖解析器Conda’s

那皮佩诺夫呢?

简而言之:我不喜欢它提供的CLI,也不喜欢它做出的一些决定,我认为我们可以做出更好、更直观的决定。这里有几件我不喜欢的东西

依赖项解析

依赖项解析不稳定,即使有解决方案也会失败。让我们举个例子:

pipenv install oslo.utils==1.4.0

将失败,并显示此错误:

Could not find a version that matches pbr!=0.7,!=2.1.0,<1.0,>=0.6,>=2.0.0

而诗会给你提供一套合适的套餐:

poetry add oslo.utils=1.4.0

结果是:

  - Installing pytz (2018.3)
  - Installing netifaces (0.10.6)
  - Installing netaddr (0.7.19)
  - Installing oslo.i18n (2.1.0)
  - Installing iso8601 (0.1.12)
  - Installing six (1.11.0)
  - Installing babel (2.5.3)
  - Installing pbr (0.11.1)
  - Installing oslo.utils (1.4.0)

这要归功于诗歌核心的高效依赖解析器

以下是这里具体发生的情况的细目:

oslo.utils (1.4.0)取决于:

  • pbr (>=0.6,!=0.7,<1.0)
  • Babel (>=1.3)
  • six (>=1.9.0)
  • iso8601 (>=0.1.9)
  • oslo.i18n (>=1.3.0)
  • netaddr (>=0.7.12)
  • netifaces (>=0.10.4)

我们感兴趣的是pbr (>=0.6,!=0.7,<1.0)

在这一点上,诗歌将选择pbr==0.11.1哪个是与约束匹配的最新版本

接下来,它将尝试选择oslo.i18n==3.20.0哪个是匹配的最新版本oslo.i18n (>=1.3.0)

但是,此版本要求pbr (!=2.1.0,>=2.0.0)这与不兼容pbr==0.11.1,所以poetry将尝试查找一个版本的oslo.i18n那是令人满意的pbr (>=0.6,!=0.7,<1.0)

通过分析oslo.i18n,它会找到oslo.i18n==2.1.0这就需要pbr (>=0.11,<2.0)在这一点上,决议的睡觉是直截了当的,因为不再有冲突

资源

Reddit-来自reddit.com的历史代码

此存储库已存档

此存储库已存档,不会接收任何更新,也不会接受问题或拉入请求


API接口

有关reddit API更改的通知和reddit API客户端开发的讨论,请订阅/r/redditdev/r/changelog次红线

要了解有关reddit API的更多信息,请访问我们的automated API documentation以及API wiki page请使用唯一的User-Agent字符串,并注意遵守我们的API rules

快速入门

要设置您自己的reddit实例,请参阅install guide

Python-telegram-bot 电报机器人API

我们给你做了一个你不能拒绝的…

目录

引言

此库为以下对象提供纯Python接口Telegram Bot API它与Python版本3.6.8+兼容。PTB也可能在PyPy,尽管以前有很多问题。因此,PyPy不受官方支持

除了纯API实现之外,该库还提供了许多高级类,使bot的开发变得简单明了。这些类包含在telegram.ext子模块

纯API实现没有telegram.ext以独立软件包的形式提供python-telegram-bot-rawSee here for details.

注意事项

同时安装两者python-telegram-botpython-telegram-bot-raw联合使用会导致不良副作用,所以只需安装两者中的

电报API支持

所有类型和方法的Telegram Bot API5.3均受支持

正在安装

您可以使用以下命令安装或升级python-Telegram-bot:

$ pip install python-telegram-bot --upgrade

或者,您可以使用以下命令从源安装:

$ git clone https://github.com/python-telegram-bot/python-telegram-bot --recursive
$ cd python-telegram-bot
$ python setup.py install

如果您之前已经克隆了本地存储库,则应该在使用以下命令安装之前初始化添加的urllib3子模块:

$ git submodule update --init --recursive

可选依赖项

PTB可以与可选依赖项一起安装:

  • pip install python-telegram-bot[passport]安装cryptography图书馆。如果您要使用电报护照相关功能,请使用此功能
  • pip install python-telegram-bot[ujson]安装ujson图书馆。然后,它将被用于JSON去编码,与标准相比,这可以带来更快的速度json图书馆
  • pip install python-telegram-bot[socks]安装PySocks图书馆。如果要在Socks5服务器后面工作,请使用此选项

快速入门

我们的维基包含许多资源,可供您开始使用python-telegram-bot

其他参考文献:

以身作则学习

我们认为学习这个套餐最好的方法就是身体力行。这里有一些例子供您复习。即使这不是你的学习方法,也请看看echobot.py,它是大多数机器人的事实上的基地。最棒的是,这些示例的代码都发布到了公共领域,因此您可以从获取代码并在其上构建开始

参观this page要了解官方示例或查看wiki查看社区构建的其他机器人

日志记录

此库使用logging模块。要将日志记录设置为标准输出,请放入:

import logging
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

在脚本的开头

还可以在应用程序中使用日志,方法是调用logging.getLogger()并设置所需的日志级别:

logger = logging.getLogger()
logger.setLevel(logging.INFO)

如果您需要调试日志,请执行以下操作:

logger.setLevel(logging.DEBUG)

文档

python-telegram-bot的文档存放在readthedocs.io

获取帮助

您可以通过以下几种方式获得帮助:

  1. 我们有一个充满活力的开发人员社区,他们在我们的Telegram group加入我们吧!
  2. 通过以下方式报告错误、请求新功能或提出问题creating an issuea discussion
  3. 我们的Wiki pages提供越来越多的资源
  4. 您甚至可以使用python-telegram-bot tag

贡献

欢迎各种规模的投稿。请查看我们的contribution guidelines开始吧。您还可以通过以下方式提供帮助reporting bugs

捐赠

偶尔会有人问我们是否接受捐款来支持这项发展。虽然我们很欣赏这个想法,但维护肺结核是我们的爱好,我们几乎没有运行成本。因此,我们没有任何接受捐款的设置。如果您仍想捐款,我们恳请您转而向您选择的另一个开源项目/倡议捐款。

许可证

您可以复制、分发和修改本软件,前提是修改的说明和许可是免费的,请参阅LGPL-3衍生品作品(包括修改或任何静态链接到库的内容)只能在LGPL-3下重新分发,但使用库的应用程序不必

Awesome-spider-爬虫集合

收集各种爬虫(默认爬虫语言为python),欢迎大家提PR或Issue,收集脚本见此项目github-search

警告:爬虫有时效性,如没法直接运行,请适当更改逻辑。

一个

B类

C

D

E

G

H

J

K

n

O

P

问:

R

%s

T

V

W

X

是的

Z

#

其他

欢迎大家关注公众号

TensorFlow-Course-📡简单易用的TensorFlow教程

目录

Download Free TensorFlow Roadmap EBook

Slack Group

What is TensorFlow?

TensorFlow是一个开放源码软件库,用于跨一系列任务进行数据流编程。它是一个符号数学库,也用于机器学习应用程序,如神经网络。在谷歌,它同时用于研究和生产,经常取代其封闭源代码的前身DistBelef

TensorFlow是由谷歌大脑团队开发的,供谷歌内部使用。它是在Apache2.0开放源码许可下于2015年11月9日发布的

Motivation

这个开源项目有不同的动机。TensorFlow(在我们撰写本文时)是目前最好的深度学习框架之一。应该问的问题是,当网上有这么多关于TensorFlow的其他教程时,为什么要创建这个存储库?

Why use TensorFlow?

如今,深度学习非常受关注–迫切需要算法和体系结构的快速和优化实现。TensorFlow就是为实现这一目标而设计的

TensorFlow的强大优势在于它可以灵活地设计高度模块化的模型,这对于初学者来说也可能是一个劣势,因为在创建模型时必须将许多部分放在一起考虑

通过开发高级API(如KerasSlim其中抽象了许多用于设计机器学习算法的部分

TensorFlow的有趣之处在于这些天来,它随处可见。很多研究人员和开发人员都在使用它它的社区正在以光速增长好了!考虑到TensorFlow社区涉及的人数众多,因此许多问题都可以很容易地处理,因为这些问题通常与许多其他人遇到的问题相同

What’s the point of this repository?

仅仅为了开发一些东西而开发开放源码项目并不是这种努力背后的原因考虑到要向这个大型社区添加大量教程,创建这个资源库是为了打破通常发生在大多数开放源码项目中的跳入和跳出过程,但是为什么以及如何呢?

首先,把精力放在大多数人不会停下来看一看的东西上有什么意义?创建对开发人员和研究人员社区中的任何人都没有帮助的东西有什么意义?为什么要把时间花在容易被遗忘的事情上呢?但我们要怎么做呢?甚至到目前为止,关于TensorFlow的教程数不胜数,无论是关于模型设计还是TensorFlow工作流

他们中的大多数都太复杂了,或者缺乏文档。只有几个可用的教程简明扼要、结构良好,并为其特定实现的模型提供了足够的洞察力

此项目的目标是帮助社区提供结构化教程以及简单和优化的代码实现,以便更好地了解如何使用TensorFlow快速有效

值得注意的是,这个项目的主要目标是提供文档齐全的教程和不太复杂的代码。好了!

TensorFlow Installation and Setup the Environment

要安装TensorFlow,请参阅以下链接:

建议安装虚拟环境,以避免包冲突,并具有自定义工作环境的能力

TensorFlow Tutorials

此存储库中的教程被划分为相关类别


Warm-up

# 主题 源代码 媒体
1个 启动
Notebook/Python Video Tutorial

Basics

# 主题 源代码 媒体
1个 张量
Notebook/Python Video Tutorial
2个 自动区分
Notebook/Python Video Tutorial
3个 图形导论
Notebook/Python Video Tutorial
4. TensorFlow模型
Notebook/Python Video Tutorial

Basic Machine Learning

# 主题 源代码 更多 媒体
1个 线性回归
Notebook/Python Tutorial Video Tutorial
2个 数据增强
Notebook/Python Tutorial Video Tutorial

Neural Networks

# 主题 源代码 媒体
1个 多层感知器
Notebook/Python Video Tutorial
2个 卷积神经网络
Notebook/Python Video Tutorial

Advanced

# 主题 源代码 媒体
1个 定制培训
Notebook/Python Video Tutorial
2个 数据集生成器
Notebook/Python Video Tutorial
3个 创建TF记录
Notebook/Python Video Tutorial

Some Useful Tutorials

Contributing

向此存储库投稿时,请先通过问题、电子邮件或任何其他方法与此存储库的所有者讨论您希望进行的更改,然后再进行更改。对于打字错误,请不要创建拉取请求。取而代之的是,在问题中声明它们或通过电子邮件通知存储库所有者

请注意,我们有行为准则,请在您与项目的所有交互中遵循该准则

Pull Request Process

请考虑以下标准,以便更好地帮助我们:

  • 拉取请求主要预期为代码脚本建议或改进
  • 请不要更改IPython文件。而是更改相应的Python文件
  • 与非代码脚本部分相关的拉取请求预计会对文档产生重大影响。否则,预计将在问题部分公布。
  • 在执行构建和创建拉入请求时,请确保在图层结束之前移除所有安装或构建依赖项
  • 添加带有接口更改详细信息的注释,包括新的环境变量、暴露的端口、有用的文件位置和容器参数
  • 一旦您获得至少一个其他开发人员的签字,您就可以合并拉取请求,或者如果您没有权限这样做,如果您相信所有检查都已通过,您可以请求所有者为您合并该请求

Final Note

我们期待着您的善意反馈。请帮助我们改进这个开源项目,让我们的工作做得更好。对于捐款,请创建拉取请求,我们会立即进行调查。再次感谢您的好意反馈和详细的代码检查

Developers

公司:灌输人工智能[Website]

创建者:机器学习思维模式[BlogGitHubTwitter]

开发人员:Amirsina Torfi[GitHubPersonal WebsiteLinkedin]

Paddle 并行分布式深度学习:来自工业实践的机器学习框架

欢迎使用PaddlePaddle GitHub

PaddlePaddle作为国内唯一的自主研发深度学习平台,自2016年起正式向专业社区开源。它是一个技术先进、功能丰富的工业平台,涵盖了核心深度学习框架、基础模型库、端到端开发工具包、工具和组件以及服务平台。PaddlePaddle起源于工业实践,致力于工业化。它已经被包括制造业、农业、企业服务等在内的广泛领域广泛采用,同时服务于230多万开发者。凭借这些优势,PaddlePaddle已经帮助越来越多的合作伙伴将人工智能商业化

安装

最新的PaddlePaddle版本:v2.1

我们的愿景是通过PaddlePaddle为每个人提供深度学习。请参阅我们的release announcement要跟踪PaddlePaddle的最新功能,请执行以下操作

安装最新稳定版本:

# CPU
pip install paddlepaddle
# GPU
pip install paddlepaddle-gpu

有关安装的更多信息,请查看Quick Install

现在我们的开发者可以免费获取特斯拉V100在线计算资源。如果你通过AI Studio创建一个程序,你将获得每天8小时的在线培训模型。Click here to start

四大领先技术

  • 深度神经网络产业发展的敏捷框架

    PaddlePaddle深度学习框架通过利用可编程方案来构建神经网络,在简化开发的同时降低了技术负担。它同时支持声明式编程和命令式编程,同时保留了开发灵活性和高运行时性能。神经结构可以由算法自动设计,比人类专家设计的神经结构具有更好的性能

  • 支持深度神经网络的超大规模训练

    PaddlePaddle在超大规模深度神经网络训练方面取得突破性进展。它推出了世界上第一个大规模开源培训平台,支持使用分布在数百个节点上的数据源进行具有1000亿个功能和数万亿参数的深度网络的培训。PaddlePaddle克服了超大规模深度学习模型在线深度学习的挑战,进一步实现了超过1万亿参数的模型实时更新Click here to learn more

  • 面向全面部署环境的高性能推理引擎

    PaddlePaddle不仅兼容第三方开源框架中训练的模型,还为各种生产场景提供完整的推理产品。我们的推理产品线包括Paddle Inference:用于高性能服务器和云推理的原生推理库;Paddle Serving:适用于分布式和流水线生产的面向服务的框架;Paddle Lite:适用于移动和物联网环境的超轻量级推理引擎;Paddle.js:浏览器和小应用的前端推理机。此外,通过在每个场景中使用领先的硬件进行大量优化,Paddle推理引擎的性能优于大多数其他主流框架

  • 具有开放源代码库的面向行业的模型和库

    PaddlePaddle收录并维护了行业内长期实践和打磨的100多款主流车型。其中一些车型在关键的国际比赛中获得了大奖。与此同时,PaddlePaddle还拥有200多个预训模型(其中一些带有源代码),以促进工业应用的快速发展Click here to learn more

文档

我们提供EnglishChinese文档

  • Guides

    您可能希望从如何使用PaddlePaddle实现深度学习基础知识开始

  • Practice

    到目前为止,您已经熟悉了流体。下一步应该是建立一个更有效的模型或发明您的原始运算符

  • API Reference

    我们的新API支持更短的程序

  • How to Contribute

    我们感谢您的贡献!

沟通

  • Github Issues:错误报告、功能请求、安装问题、使用问题等
  • QQ讨论群:793866180(划桨)
  • Forums讨论实施、研究等

课程

  • Server Deployments:通过本地和远程服务介绍高性能服务器部署的课程
  • Edge Deployments:介绍从移动、物联网到Web和小程序的边缘部署课程

版权和许可

PaddlePaddle在Apache-2.0 license

Jumpserver 全球首款开源的堡垒机

多云环境下更好用的堡垒机


JumpServer是全球首款开源的堡垒机,使用GNU GPL v2.0开源协议,是符合4A规范的运维安全审计系统。

JumpServer使用Python开发,遵循Web2.0规范,配备了业界领先的Web终端方案,交互界面美观、用户体验好。

跳跃服务器采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。

改变世界,从一点点开始

特色优势

  • 开源:零门槛,线上快速获取和安装;
  • 分布式:轻松支持大规模并发访问;
  • 无插件:仅需浏览器,极致的WEB终端使用体验;
  • 多云支持:一套系统,同时管理不同云上面的资产;
  • 云端存储:审计录像云端存储,永不丢失;
  • 多租户:一套系统,多个子公司和部门同时使用;
  • 多应用支持:数据库、Windows远程应用、Kubernetes。

快速开始

组件项目

  • Lina跳跃服务器Web UI项目
  • Luna跳跃服务器网络终端项目
  • KoKo跳跃服务器字符协议连接器项目,替代原来Python版本的Coco
  • Lion跳跃服务器图形协议连接器项目,依赖Apache Guacamole

社区

如果您在使用过程中有任何疑问或对建议,欢迎提交GitHub Issue或加入到我们的社区当中进行进一步交流沟通.

微信交流群

贡献

如果有你好的想法创意,或者帮助我们修复了错误,欢迎提交拉取请求

感谢以下贡献者,让跳跃服务器更加完善












致谢

  • Apache GuacamoleWEB页面连接rdp、ssh、vnc协议设备、JumpServer图形化组件Lion依赖
  • OmniDBWEB页面连接使用数据库、跳跃服务器WEB数据库依赖

跳跃服务器企业版

案例研究

安全说明

跳跃服务器是一款安全产品,请参考基本安全建议部署安装

如果你发现安全问题,可以直接联系我们:

许可证和版权

版权所有(C)2014年至2020年飞致云FIT2CLOUD,保留所有权利

在GNU通用公共许可证版本2(GPLv2)(“许可证”)下获得许可;除非遵守许可证,否则您不能使用此文件。您可以在以下地址获取许可证副本

https://www.gnu.org/licenses/gpl-2.0.html

除非适用法律要求或书面同意,否则根据本许可证分发的软件是按“原样”分发的,没有任何明示或暗示的任何类型的担保或条件。请参阅许可证下管理权限和限制的特定语言的许可证

100-Days-Of-ML-Code-ML代码的100天中文版

机器学习100天

英文原版请移步Avik-Jain那就是。数据在这里

翻译前请先阅读规范。常见问题解答见FAQ

目录

数据预处理|第1天

数据预处理实现

简单线性回归|第2天

简单线性回归实现

多元线性回归|第3天

多元线性回归实现

逻辑回归|第4天

逻辑回归|第5天

今天我深入研究了逻辑回归到底是什么,以及它背后的数学是什么.学习了如何计算代价函数,以及如何使用梯度下降法来将代价函数降低到最小.
由于时间关系,我将隔天发布信息图.如果有人在机器学习领域有一定经验,并愿意帮我编写代码文档,也了解GitHub的Markdown语法,请在领英联系我。

逻辑回归|第6天

逻辑回归实现

K近邻法(k-NN)|第7天

逻辑回归背后的数学|第8天

为了使我对逻辑回归的见解更加清晰,我在网上搜索了一些资源或文章,然后我就发现了Saishruthi Swminathan的这篇文章

它给出了逻辑回归的详细描述.请务必看一看.

支持向量机(支持向量机)|第9天

直观了解支持向量机是什么以及如何使用它来解决分类问题.

支持向量机和K近邻法|第10天

了解更多关于支持向量机如何工作和实现KNN算法的知识.

K近邻法(k-NN)|第11天

K近邻法(k-NN)实现

支持向量机(支持向量机)|第12天

支持向量机(支持向量机)|第13天

SVM实现

支持向量机(支持向量机)的实现|第14天

今天我在线性相关数据上实现了支持向量机。使用SCHKIT-学习库。在科学套件-了解中我们有服务分类器,我们用它来完成这个任务。将在下一次实现时使用内核技巧。python代码见此处,jupyter笔记本见此处那就是。

朴素贝叶斯分类器(朴素贝叶斯分类器)和黑盒机器学习(黑盒机器学习)|第15天

学习不同类型的朴素贝叶斯分类器同时开始Bloomberg的课程.课程列表中的第一个是黑盒机器学习.它给出了预测函数,特征提取,学习算法,性能评估,交叉验证,样本偏差,非平稳性,过度拟合和超参数调整的整体观点.

通过内核技巧实现支持向量机|第16天

使用科学工具包-学习库实现了支持向量机算法以及内核函数,该函数将我们的数据点映射到更高维度以找到最佳超平面。

在Coursera开始深度学习的专业课程|第17天

在1天内完成第1周和第2周内容以及学习课程中的逻辑回归神经网络。

继续Coursera上的深度学习专业课程|第18天

完成课程1.用Python自己实现一个神经网络.

学习问题和Yaser Abu-Mostafa教授|第19天

开始Yaser Abu-Mostafa教授的加州理工学院机器学习课程-CS156中的课程1.这基本上是对即将到来的课程的一种介绍.他也介绍了感知算法.

深度学习专业课程2|第20天

完成改进深度神经网络第1周内容:参数调整,正则化和优化.

网页搜罗|第21天

观看了一些关于如何使用美汤进行网络爬虫的教程,以便收集用于构建模型的数据。

学习还可行吗?|第22天

完成Yaser Abu-Mostafa教授的加州理工学院机器学习课程-CS156中的课程2.学习Hoeffding不等式.

决策树|第23天

统计学习理论的介绍|第24天

彭博ML课程的第3课介绍了一些核心概念,如输入空间,动作空间,结果空间,预测函数,损失函数和假设空间。

决策树|第25天

决策树实现

跳到复习线性代数|第26天

发现Youtube一个神奇的频道3Blue1Brown,它有一个播放列表“线性代数的本质”。看完了4个视频,包括了向量,线性组合,跨度,基向量,线性变换和矩阵乘法.

B站播放列表在这里那就是。

跳到复习线性代数|第27天

继续观看了4个视频,内容包括三维变换、行列式、逆矩阵、列空间、零空间和非方矩阵.

B站播放列表在这里那就是。

跳到复习线性代数|第28天

继续观看了3个视频,内容包括点积和叉积.

B站播放列表在这里那就是。

跳到复习线性代数|第29天

观看了剩余的视频12到14,内容包括特征向量和特征值,以及抽象向量空间.

B站播放列表在这里那就是。

微积分的本质|第30天

完成上一播放列表后,Youtube推荐了新内容“微积分的本质”,今天看完了其中的3个视频,包括导数、链式法则、乘积法则和指数导数。

B站播放列表在这里那就是。

微积分的本质|第31天

观看了2个视频,内容包括隐分化与极限.

B站播放列表在这里那就是。

微积分的本质|第32天

观看了剩余的4个视频,内容包括积分与高阶导数.

B站播放列表在这里那就是。

随机森林|第33天

随机森林|第34天

随机森林实现

什么是神经网络?|深度学习,第1章|第35天

Youtube频道3Blue1Brown中有精彩的视频介绍神经网络。这个视频提供了很好的解释,并使用手写数字数据集演示基本概念.

B站视频在这里那就是。

梯度下降法,神经网络如何学习|深度学习,第2章|第36天

Youtube频道3Blue1Brown关于神经网络的第2部分,这个视频用有趣的方式解释了梯度下降法。推荐必须观看169

B站视频在这里那就是。

反向传播法究竟做什么?|深度学习,第3章|第37天

Youtube频道3Blue1Brown关于神经网络的第3部分,这个视频主要介绍了偏导数和反向传播法。

B站视频在这里那就是。

反向传播法演算|深度学习,第4章|第38天

Youtube频道3Blue1Brown关于神经网络的第3部分,这个视频主要介绍了偏导数和反向传播法。

B站视频在这里那就是。

第1部分|深度学习基础Python,TensorFlow和Kera|第39天

视频地址在这里那就是。
中文文字版notebook那就是。

第2部分|深度学习基础Python,TensorFlow和Kera|第40天

视频地址在这里那就是。
中文文字版notebook那就是。

第3部分|深度学习基础Python,TensorFlow和Kera|第41天

视频地址在这里那就是。
中文文字版notebook那就是。

第4部分|深度学习基础Python,TensorFlow和Kera|第42天

视频地址在这里那就是。
中文文字版notebook那就是。

K-均值聚类|第43天

转到无监督学习,并研究了聚类.可在作者网站查询.发现一个奇妙的动画有助于理解K-均值聚类

K-均值聚类|第44天

(实现(待添加代码)

深入研究|数字|第45天

得到JK Vanderplas写的书“Python数据科学手册(Python数据科学手册)”,Jupyter Notebook在这里那就是。
高清中文版pdf

第2章:Numpy介绍,包括数据类型、数组和数组计算。
代码如下:
2 NumPy入门

2.1 理解Python中的数据类型

2.2 NumPy数组基础

2.3 NumPy数组的计算:通用函数

深入研究|数字|第46天

第2章:聚合,比较运算符和广播.
代码如下:
2.4 聚合:最小值、最大值和其他值

2.5 数组的计算:广播

2.6 比较、掩码和布尔运算

深入研究|数字|第47天

第2章:花哨的索引,数组排序,结构化数据.
代码如下:
2.7 花哨的索引

2.8 数组的排序

2.9 结构化数据:NumPy的结构化数组

深入研究|熊猫|第48天

第3章:熊猫数据处理
包含Pandas对象,数据取值与选择,数值运算方法,处理缺失值,层级索引,合并数据集.
代码如下:
3 Pandas数据处理

3.1 Pandas对象简介

3.2 数据取值与选择

3.3 Pandas数值运算方法

3.4 处理缺失值

3.5 层级索引

3.6 合并数据集:ConCat和Append方法

深入研究|熊猫|第49天

第3章:完成剩余内容-合并与连接,累计与分组,数据透视表.
代码如下:
3.7 合并数据集:合并与连接

3.8 累计与分组

3.9 数据透视表

深入研究|熊猫|第50天

第3章:向量化字符串操作,处理时间序列.
代码如下:
3.10 向量化字符串操作

3.11 处理时间序列

3.12 高性能Pandas:eval()与query()

深入研究|MATPLOTLIB|第51天

第4章:Matplotlib数据可视化
学习简易线形图,简易散点图,密度图与等高线图
代码如下:
4 Matplotlib数据可视化

4.1 简易线形图

4.2 简易散点图

4.3 可视化异常处理

4.4 密度图与等高线图

深入研究|MATPLOTLIB|第52天

第4章:Matplotlib数据可视化
学习直方图,配置图例,配置颜色条,多子图.
代码如下:
4.5 直方图

4.6 配置图例

4.7 配置颜色条

4.8 多子图

4.9 文字与注释

深入研究|MATPLOTLIB|第53天

第4章:Matplotlib数据可视化
学习三维绘图.
4.12 画三维图

层次聚类|第54天

动画演示