自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卤蛋爱编程

微信公众号:Python量化交易实战

  • 博客(633)
  • 资源 (1)
  • 收藏
  • 关注

原创 Rust发布1.59.0版本

Rust 团队发布了 Rust 的新版本 1.59.0。 Rust 是一种编程语言,它使每个人都能够构建可靠和高效的软件。Rust版本升级,可通过以下命令将rust升级到最新的1.59.0版本:rustup update stable1.59.0稳定版介绍内联汇编(Inline assembly)Rust 语言现在支持内联汇编。这使得许多应用程序需要对其执行进行非常低级别的控制,或访问专门的机器指令。例如,在为 x86-64 目标编译时,您现在可以编写:use std::arch::asm.

2022-02-25 11:06:05 1268

原创 Rust enum和String相互转换

trait说明为enum实现Display接口后,可以通过to_string获取到String类型的enum值为String实现From<Platform>,可以在调用into函数将enum转为String同理,为enum实现From<String>,也可以将String转为enum使用例子use core::fmt::{Display, Formatter, Result}; #[derive(Debug)] enum Platform { .

2022-02-16 10:51:46 2173

原创 Pandas MultiIndex索引使用问题

最近在使用MultiIndex时遇到的一个问题,先描述一下数据格式。我使用MultiIndex DataFrame来存储股票未来N天的收益率,变量命名为returns,数据样例如下,columns 1d和5d分别表示未来1天和5天的股票收益率,index为MultiIndex,第一级索引为日期,第二级索引为股票代码。 1d 5d2005-01-04 000001.XSHE -0.009202 0.010736

2020-12-13 18:12:39 543

原创 一个Pandas索引生成的小问题

今天遇到一个Pandas索引生成的问题,需要根据股票日频数据生成1分钟间隔的index,想了3个方法来生成:方法1: 如果有1分钟bar数据的话可以直接读取数据获取index值,可惜没有哈方法2: pandas.date_range,这个方法可以生成一个时间序列,设置参数freq=‘1min’ ,但是这样生成的结果包含了非交易时间段的数据,运行试了下速度也比较慢。方法3: 两个list循环,第一个list是日期数据,第二个list是交易时间段的1分钟间隔数据,这个办法虽然笨点但是运行速度还挺快的,具体

2020-12-10 10:20:01 141 1

原创 Quantopian投资组合和绩效分析工具:Pyfolio

介绍pyfolio是由Quantopian开发的Python库,用于对金融投资组合进行绩效和风险分析。它与Zipline开源回溯测试库配合使用良好。pyfolio的核心是所谓的“tear sheet ”,它由各种单独的图组成,这些图提供了交易算法性能的全面图像展示。入门示例这里以双均线策略来做演示,当20日均线上穿40日均线买入股票,当20日均线下穿40日均线则卖出股票,首先我们通过tushare获取股票历史数据import pandas as pdimport numpy as npimpo

2020-11-29 17:39:46 4842 4

原创 Quantopian单因子分析工具:Alphalens

Quantopian是国外著名的量化交易平台,早期聚宽就是仿照这个网站开发的,算是这类平台的鼻祖了,可惜Quantopian最近刚宣布要停止运营了。Quantopian开发了许多优秀的开源项目,其中比较著名的有zipline、pyfolio和alphalens,zipline是事件驱动的回测引擎,Alphalens与Zipline开源回溯测试库以及Pyfolio配合使用,Pyfolio提供金融投资组合的绩效和风险分析。Alphalens主要功能是alpha因子的相关性统计数据和图表展示,包括:Retu

2020-11-22 01:17:03 2313 2

原创 pandas-profiling: 数据分析利器

介绍pandas-profiling可以为DataFrame生成一份报告,在pandas中 df.describe() 是比较基础的探索性数据分析函数,而pandas_profiling则是在DataFrame的基础上扩展,用于快速数据分析。对于每个column,以下统计信息(与列类型相关)将显示在交互式HTML报告中:类型推断:检测DataFrame中列的类型。概要:类型,唯一值,缺失值分位数统计信息,例如最小值,Q1,中位数,Q3,最大值,范围,四分位数范围描述性统计数据,例如均值,众数,

2020-11-13 17:17:54 636

原创 股票重大利好开盘封涨停买不到?试试这个办法

大家也许有过这种经历,关注的某只股票突发利好消息预判会连续涨停,赶紧打开炒股软件准备下单,发现这只股票已经涨停了,而且是几十万手的大单封死,根本没机会下手,随后几天只能看着股票一个涨停接一个涨停的一路上涨,后悔下手太慢。这种情况还有办法上车吗,散户一般能想到的办法都没戏,但是可以试试下面这种办法,吃不到肉但也许能喝口汤。ETF套利介绍在介绍之前我们先了解下什么是ETF套利?ETF指的是交易型开...

2020-03-01 12:17:25 1496

原创 使用Python抓取同花顺资金流数据

今天我们通过一个例子来介绍python爬取数据的一般步骤,用到的工具包括python的经典模块requests和BeautifulSoup,另外结合刚学习的任务流工具TaskFlow来完成代码开发。我们先来看一下要爬取的数据,网址是http://data.10jqka.com.cn/funds/gnzjl/,通过chrome的开发者工具分析我们可以比较容易找到后台数据加载网址为http://...

2020-02-16 10:28:06 8120 3

原创 OpenStack公共组件TaskFlow介绍

TaskFlow 是一个以高度可用,易于理解和声明试方式来执行[作业,任务,流程]的库,可与OpenStack和其他项目一起使用。基本概念taskflow库在oslo项目中是一个实现比较复杂的项目,要弄清楚其实现原理,首先需要对其中的相关概念有所了解。所以,本文首先总结了taskflow中常用的一些基本概念,这些概念主要包括如下几个:AtomAtom类是taskflow的最小单位,task...

2020-02-11 15:34:52 2517

原创 Python调用C/C++入门

1. 背景最近公司在某券商募集了一笔资金,需要对接其提供的程序化接口方便以后进行交易,对方只提供了c++版本程序,我们系统是python开发的,所以需要用python调用c++,大致了解下了python调用c++的几种方式,下面根据网上的资料介绍下几种方式优缺点,最后给个mac环境下python调用c++的例子。2. Python调用C/C++程序方法ctypes如果是 C 函数库,...

2019-08-24 19:42:32 1160

原创 FIX协议介绍与QuickFIX使用入门(上)

定义FIX协议是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为一个个可用计算机语言描述的功能流程,并在每个业务功能接口上统一交换格式,方便各个功能模块的连接。FIX协议各个版本对股票、期权和期货的支持程度,目前市场上使用FIX4...

2019-07-17 09:54:49 14832 2

原创 读《期货市场计算机分析指南》笔记

第一章 系统的建立1. 鉴定可交易的市场流动性流动性的最佳度量是交易量和未平仓合约数,观察一段时间的平均值优于观察单日历史波动性历史上趋势变化范围宽的市场优于平静的趋势变化范围窄的市场准确的基本面和技术面数据避免新市场2. 鉴别走势两条移动平均线,例如: 3和12,9和18,观察不到水平状态3 > 12,上升趋势3 < 12,下降趋势三条移动平均线,...

2019-06-19 09:53:09 2036

原创 将Pandas DataFrame内存大小减少约65%

这篇文章原文出自kaggle,我大致翻译翻一下,文中给出了reduce_mem_usage方法可以用来自动缩减dataframe占用空间这篇notebook展示了通过使用更合理的数据类型来减少dataframe的内存使用量方法如下:迭代每一个column检查column是否为数字型检查column是否可以用integer表示找出column下的最大值和最小值选择适用于数据范围的最合...

2019-06-05 11:23:43 1369

原创 树莓派 XBMC常用插件

https://github.com/taxigps/xbmc-addons-chinesehttp://www.hdpfans.com/thread-329076-1-1.html

2017-05-04 13:46:31 3019

原创 阿里云Maven仓库

修改conf文件夹下的settings.xml文件,添加如下镜像配置: <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>

2017-04-29 00:14:48 258

原创 scala def和val变量的不同

2017-03-22 17:45:15 125

原创 Ubuntu安装ta-lib库

https://github.com/mrjbq7/ta-lib

2017-02-07 23:16:20 665

原创 巴科斯范式

2017-01-18 09:30:23 572

原创 circe Encoding和Decoding

的对String,Int等基本类型进行处理,同时也提供了List[A]、Option[A]和其他泛型类型的处理,只要是A有对应的Encoder。 可以使用 .asJson 将一个数据对象转化成Json对象:import io.circe.syntax._// import io.circe.syntax._val intsJson = List(1, 2, 3).asJson// intsJson: io.circe.Json =// [// 1,// 2,

2017-01-16 17:33:52 574

原创 scala学习:try catch 返回值

2017-01-16 09:23:07 797

原创 Ubuntu 14.04 安装PhantomJS

安装PhantomJS依赖 sudo apt-get install build-essential g++ flex bison gperf ruby perl \ libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev \ libpng-dev libjpeg-dev python libx

2016-04-16 10:28:27 426

原创 Ubuntu下R环境安装

官网地址:http://www.r-project.orgR语言安装 sudo apt-get install r-base r-base如果安装太慢,请添加mirror,地址请参考 https://cran.r-project.org/mirrors.html安装完成后测试在命令行输入R,出现如下console信息说明安装成功eryk@ubuntu:~$ RR version 3.0.2 (

2015-12-12 08:25:22 830

原创 git 下保存用户名和邮箱 ,以及免密码

git config --local credential.helper cachegit config --local user.name "eryk"git config --local user.mail "[email protected]"

2015-01-12 11:47:14 628

原创 hbase0.96(Singularity)介绍

2013年10月19日apache官方发布了hbase0.96.0版本,共提交了2134个patch,与官方声称的0.94是性能提升版不同,0.96在可用性上做了很大努力,大幅提升了稳定性、可操作性以及伸缩性。下面介绍下0.96的主要新特性:ReducedMean-Time-To-Recovery (MTTR)大量优化操作使regionservercrash对集群影响从分钟级降

2014-03-07 10:59:59 968

原创 ycsb +hbase 0.96 编译pom文件修改

修改hbase-binding下的pom.xml org.apache.hbase hbase-client 0.96.1-hadoop2 org.apache.hadoop hadoop-common 2.2.0

2014-02-19 17:01:32 1647 2

原创 ubuntu 编译 hadoop 2.2.0 和hbase 0.96.1 过程记录

打patch:https://issues.apache.org/jira/browse/HADOOP-10110错误信息:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0:site (default-site) on project hadoop-main: Exec

2014-02-19 10:27:58 845

原创 hbase scan查询代码分析

Scan查询过程步骤1. HTable.getScanner()关掉之前在server端打开的Scanner,防止server端过多的资源占用client端:ScannerCallable.call() -> close(scannerId)server端:HRegionServer.close(scannerId)根据localStartKey在指定region上打开sc

2014-01-15 10:05:29 1045

原创 ubuntu ramdisk

mkdir /tmp/ram0mount -vt tmpfs tmpfs -o size=2G /tmp/ram0/vim /etc/fstab添加:tmpfs /tmp/ram0 tmpfs defaults,size=2G 0 0

2014-01-12 21:58:12 521

原创 使用 Maven部署war到tomcat7

org.apache.tomcat.maven tomcat7-maven-plugin 2.1 http://localhost:8080/manager/text eryk qq

2013-12-25 11:11:39 528

原创 使用intellij idea 运行nutch 2.2.1 + hbase 0.90.4 + elasticsearch 0.90.5

使用https://github.com/apache/nutch.git导入nutch项目到intellij配置ivy.xml和conf下的gora.properties、nutch-site.xml修改ivy/ivy.xml     修改elasticsearch版本 default"/>     去掉如下内容注解 default"

2013-11-04 00:00:04 1927 1

原创 elasticsearch学习笔记1

后台启动bin/elasticsearch -fbin/elasticsearch -f -Xmx2g -Xms2g -Des.index.store.type=memoryhttp设置和关闭SettingDescriptionhttp.portA bind port range.

2013-10-18 09:52:45 715

转载 阅读优秀代码是提高开发人员修为的一种捷径

编者按:原文作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文是其中的另一篇。Alan认为:阅读优秀代码是提高开发人员修为的一种捷径。以下是全文。我突然想起来,很多程序员都讨厌阅读代码。来吧,承认吧! 每个人都喜欢编写代码,编代码是件趣事。 另一方面,阅读代码也不容易。 不仅不容易(编注:参见《微软资深软件工程师:阅读

2013-07-31 09:40:55 473

转载 修改Maven的本地仓库路径

安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。       修改方式如下: 手动创建本地仓库

2013-07-30 15:00:56 877

转载 正确地kill java进程

在linux/unix下,你会怎么中止一个java进程?你可能会回答 kill -9 pid,这是一种在多数情况下正确的做法。不过,这种方式过于暴力,如果用户对环境不熟悉,很容易造成致命的后果。本文将分析kill -9产生问题的原因,并给出另一种标准的kill方式。标准中断信号在Linux信号机制中,存在多种进程中断信号(Linux信号列表)。其中比较典型的有 SIGNKI

2013-07-21 19:19:49 583

原创 ganglia安装部署

系统:Centos6.3 x86_641.    将epel-release-6-8.noarch.rpm加入repo.rpm-ivh epel-release-6-8.noarch.rpm2.    yum update; 在服务器安装 yuminstall ganglia ganglia-gmetad ganglia-web ganglia-gmond在其他机器安装

2013-07-19 00:25:36 798

原创 opentsdb使用入门

使用snappy压缩方式建表语句,需要hbase集群安装了snappyenv COMPRESSION=snappy ./opentsdb/src/create_table.sh启动方式nohup opentsdb/build/tsdb tsd --port=4242 --staticroot=opentsdb/build/staticroot --cachedir="/tmp/

2013-07-13 11:34:22 1797

转载 CentOS设置默认启动命令行(不启动图形界面)

在 centOS 中的修改方法如下:1.root登陆,免得老是sudo2.打开/etc/inittab 文件   #vim /etc/inittab3.在默认的 run level 设置中,可以看到第一行书写如:id:5:initdefault:(默认的 run level 等级为 5,即图形界面)4.将第一行的 5 修改为 3 即可。5.保存文件后重启

2013-07-13 09:29:15 470

转载 Java 编程中关于异常处理的 10 个最佳实践

异常处理是书写 强健 JAVA应用的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了优雅的处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,catch和 finally 关键字的形式内建于语言自身之中。Java编程语言也允许你创建新的异常,并通过使用  throw 和 throws关键字抛出它们。事实上,异常处理不仅仅是知道语法。书写一

2013-07-13 00:53:31 422

转载 WP Page Numbers – wordpress分页导航插件使用方法与教程

一个好的网站就是要让读者在最快的时间内找到他们想要的东西。而且网站导航栏和分页导航是帮助读者快速了解网站结构和寻找网站同内容的最好工具之一。所有很多拥有wordpress博客的朋友们都想让自己的博客或者网站有一个实用并且足够吸引的分页导航。一、WordPress分页插件1、说到WordPress分页插件,可能大家首先想到的是WP-PageNavi插件,并且很多人已经正在使用

2013-06-29 01:40:22 1300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除