Elsen API库

elsen的Python项目详细描述



<;a href="http://elsen.co">;
<;img src="https://elsen.co/img/apple-touch-icon-144x144.png"/>;
<;/a>;
<;/p>; < BR>
艾森蟒蛇
============ < BR>
此库是与
现有的财务python建模工具,如pandas和numpy/scipy。 < BR>
易于安装
---- < BR>
为了便于使用,建议您使用anaconda python发行版
适用于Windows、Mac OSX和Linux。它是一个自包含的python
捆绑了所有常用财务建模工具的环境。 < BR>
**[下载蟒蛇](https://store.continuum.io/cshop/anaconda/)** < BR>
**Mac OS X** < BR>
1)[安装anaconda](http://docs.continuum.io/anaconda/install.html mac install) < BR>
2)从applications:utilities文件夹启动终端。 < BR>
3)克隆库的源代码。 < BR> 'Br/''Bash
$git克隆git@github.com:elsen trading/elsen-python.git
< BR>
如果您当前没有安装git,则会弹出一个窗口,要求您安装开发人员工具。单击"继续",然后再次运行上述命令。 < BR>
4)移入库源文件夹。 < BR> 'Br/''Bash
$cd埃尔森巨蟒
< BR>
5)安装elsen python库。 < BR> 'Br/''Bash
$python setup.py安装
< BR>
6)运行示例代码。 < BR> 'Br/''Bash
$python示例.py
< BR>
或直接进入ipython笔记本。 < BR>

$ipython笔记本
< BR>
**Linux系统** < BR>
1)[安装anaconda](http://docs.continuum.io/anaconda/install.html linux安装) < BR>
2)如果没有安装git,请安装它。 < BR> 'Br/''Bash
sudo apt get安装git
< BR>
3)点击左上角的ubuntu图标打开破折号,输入"terminal",
并从显示的结果中选择终端应用程序。 < BR>
4)克隆库的源代码。 < BR> 'Br/''Bash
$git克隆git@github.com:elsen trading/elsen-python.git
< BR>
5)移入库源文件夹。 < BR> 'Br/''Bash
$cd埃尔森巨蟒
< BR>
6)安装elsen python库。 < BR> 'Br/''Bash
$python setup.py安装
< BR>
7)运行示例代码。 < BR> 'Br/''Bash
$python示例.py
< BR>
或直接进入ipython笔记本。 < BR>

$ipython笔记本
< BR>
**窗口** < BR>
自定义安装
----- < BR>
**设置工具** < BR> 'Br/''Bash
$pip安装-r requirements.txt
$python setup.py安装
< BR>
可以选择集成几个公共库: < BR> 'Br/''Bash
$pip安装熊猫
$pip安装numpy
$pip安装ipython
$pip安装matplotlib
< BR> 用法
< BR>
库完全包含在"elsen"模块中: < BR>
``巨蟒
来自Elsen Import*
< BR>
**身份验证** < BR>
要通过系统验证,您需要四条信息
包含在您的*艾森欢迎*电子邮件中: < BR>
*身份验证令牌
*应用程序ID
*用户名
*密码 < BR>
``巨蟒
埃尔森=埃尔森() < BR>
elsen.验证(
app_id=app_id,
用户名='bob',
密码='交易者' < BR>
< BR>
添加新应用程序。 < BR>
``巨蟒
elsen.add_应用程序(
电子邮件='bob@elsen.co'
应用程序ID=应用程序ID < BR>
< BR>
登录后,可以将新用户添加到应用程序中。 < BR>
``巨蟒
elsen.添加用户(
应用程序ID,
用户名,
密码,
可选字段。
名字='bob',
姓氏='交易者', 电子邮件='bob@elsen.co' < BR>
< BR>
**交换** < BR>
``巨蟒
在[1]中:elsen.get_exchanges()
出局[1]:[纳斯达克,纽约证交所,美国运通]
< BR>
**索引** < BR>
``巨蟒
在[1]中:elsen.get_index()
输出[1]:[U'SP500']
< BR>
**过滤器** < BR>
获取
系统查询常用过滤器功能。系统中可用的前10个
如下: < BR>
*`` avgvol30`` 30天内的平均交易量。
*``phigh250``—股票在上一年的最高价格中所占的百分比。
*``每日成交量``一天的平均股票交易量。
*``currentprice``证券或最近上市证券的实时价格。
*``prowle250``—股票在上一年的最低交易价格的百分比。
*`` inc_eibt``税前净收入
-`` inc_sdws``加权平均已发行普通股,包括期权稀释。
-`` inc_sdai```每股收益(考虑期权),包括异常事件引起的费用。
-``inc_sbas``已发行的加权平均普通股减去稀释。
-``inc-sbai```每股收益,包括自然灾害等异常事件引起的费用。 < BR>< BR>
``巨蟒
n[1]:elsen.get_filters()[0:10] [BR/>外[1 ]:
[<;<;filter:name=inc_vpti desc=税前收入,不包括非经常性费用和/或信贷。'count=500>;,
<;<;筛选器:name=inc_ndep desc='折旧费用'count=2>;,
<;<;filter:name=inc xnic desc=可用收入,不包括由特殊事件引起的费用。'count=504>;,
<;<;筛选器:name=inc_nama desc=购置成本摊销'count=0>;,
<;<;筛选器:name=inc_vrrp desc='报告的普通利润'count=0>;,
<;<;筛选器:name=inc_sbtr desc=银行总收入'count=43>;,
<;<;筛选器:name=inc_stps desc='计划服务总成本'count=83>;,
<;<;筛选器:name=inc_vdcd desc='固定缴款费用-国内'count=30>;,
<;<;筛选器:name=inc_vxtc desc='转换成本-退休后'计数=8>;,
<;<;filter:name=bal_qtsn1 desc=公司本身及其子公司拥有的普通股数量'count=477>;]
< BR>
``巨蟒
在[2]:elsen.search_filters('利润') [BR/>外[2 ]:
[<;<;筛选器:name=inc_vrrp desc='已报告普通利润'count=0>;,
<;<;筛选器:name=inc_vnbp desc='报告的净业务利润'count=0>;,
<;<;筛选器:name=inc_vopp desc='报告营业利润'count=2>;,
<;<;筛选器:name=inc_ndta desc='经销商交易账户利润'count=1>;,
<;<;筛选器:name=inc_migk desc='新业务利润'count=0>;,
<;<;filter:name=inc_ttax desc='根据联邦、州和/或外国政府拥有的利润征收的所有税款。'count=484>;,
<;<;筛选器:name=inc_vgrp desc='报告毛利润'count=0>;,
<;<;筛选器:name=inc_vopr desc=报告的营业利润率'count=0>;,
<;<;筛选器:name=inc_sgrp desc=毛利'count=386>;,
<;<;筛选:name=inc_mibz desc='承保损益'计数=5>;,
<;<;filter:name=inc_snpm desc=净利润与收入的比率(通常以百分比表示)。'count=477>;,
<;<;filter:name=inc_ninc desc='公司的总收益或利润。'count=504>;]
< BR>
**指示器** < BR>
``巨蟒
在[1]中:elsen.get_indicators() [BR/>外[1 ]:
[<;<;指示符:trailing>;>;,
<;<;指标:交叉>;,
<;<;指标:ema>;,
<;<;指标:rsi>;,
<;<;独立cator:macd>;>;,
<;<;指示灯:BOLLINGERBAND>;,
<;<;指标:SMA>;]
< BR>
*相对强度指数*: < BR>
``巨蟒
在[1]中:rsi=elsen.get_indicators('rsi') < BR>
在[2]中:打印rsi.short_desc
相对强度指数(RSI)通过以下方法衡量证券价格的趋势
测量平均收益与平均损失的比率,并将其转换为
索引从1到100。 < BR>
在[3]:rsi.inputs()
{u'action':u'buy sell',
u"回溯":u"回溯期间",
u"lower":u"触发激活的最小值,包括。"
u'name':u'rsi',
u"upper":u"将触发激活的最大值,包括。"
< BR>
*简单移动平均数*: < BR>
``巨蟒
在[1]中:sma=elsen.get_indicators('sma') < BR>
在[2]中:打印sma.short_desc
简单移动平均数是一个尾随价格指标,表明
通过测量选定数量证券的平均收盘价
当前期间之前的期间。 < BR>
在[3]中:打印sma.inputs()
{u'action':u'buy sell',
u"upper":u"将触发激活的最大值,包括。"
u"lower":u"触发激活的最小值,包括。"
u"回首":u"窗口大小",
u'name':u'sma'}
< BR>
**策略** < BR>
``巨蟒
超卖时购买
ind1=指标(action=buy,name=rsi,lower=1,upper=30,lookback=21) < BR>
超买时卖出
ind2=指标(action=sell,name=rsi,lower=70,upper=100,lookback=21) < BR>
过滤掉低价格和低容量的公司
flt1=过滤器(名称='currentprice',最小值=0,最大值=200)
flt2=过滤器(名称='avgvol30',最小值=10000000.0,最大值=3400000.0) < BR>
制定策略
策略=elsen.设置策略(
宇宙=SP900,
指示器=[ind1,ind2],
过滤器=[flt1,flt2],
间隔=1)
< BR>
**模拟** < BR>
要执行backtest apply,请将strategy对象作为参数传递给
``设置反测试``以及日期范围。 < BR>
``巨蟒
backtest=elsen.设置(
战略=战略,
开始='2014-5-1',
结束='2014-12-1') < BR>
运行回溯测试,等待结果。
backtest.join(计时=真)
回溯测试。详细信息()
< BR>
在给定特定的
backtest id.使用"detailsfor"函数。 < BR>
``巨蟒
在[1]:elsen.detailsfor('dfd7faf3-e13c-4293-b55d-33bbd4fb0f9f')
< BR>
**指标** < BR>
``巨蟒
在[1]:print返回:$%s%backtest.returns()
退货:40193.9147美元 < BR>
在[2]中:打印"sharpe ratio":%s%backtest.sharpe()
夏普比率:0.77072534093809145889 < BR>
在[3]中:打印'alpha:%s'%backtest.alpha()
阿尔法:-0.140887764298623 < BR>
在[4]:打印"beta:%s%backtest.beta()
贝塔系数:0.0000752396488764315
< BR>
要获取可以调用的backtest对象的所有度量
``帮助(backtest)``获取所有可用属性和方法的列表。 < BR>
backtest对象本身也可以转换为pandas数据帧json
对象,或序列化为文件。 < BR>
``巨蟒
在[1]:backtest.to_dataframe()

在[2]:backtest.to_json()
< BR>
在[3]:backtest.to_dataframe()['drawdown'] [BR/>外[4 ]:
0 45.48239846275415098
名称:drawdown,数据类型:object
< BR>
要提取单个交易进行回测,请使用"trades"函数
可以生成结果dataframe对象。 < BR>
``巨蟒
在[1]:backtest.trades()

在[2]中:backtest.trades().to_dataframe()
< BR>
文档
---- < BR> 'Br/''Bash
$cd文档 < $ MAKE-HTML
$make latexpdf
< BR>
提交问题
---- < BR>
如果您向elsen支持部门提出问题,请将以下行放在
脚本的开头。 < BR>
``巨蟒
启用调试()
< BR>
在您的错误报告/支持电子邮件中,请包括以下内容 < BR>
*用于运行程序的脚本或ipython笔记本。
*输出文件"elsen python.log"。 < BR> IPython
< BR>
这些用例也在ipython笔记本表单中提供,供交互使用: < BR>
*[可视化](visualization.ipynb) < BR> 'Br/''Bash
$ipython笔记本可视化.ipynb

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener