分类目录归档:未分类

patsy学习笔记——概述 zt

patsy学习笔记——概述

patsy是一个Python包,用于描述统计模型(statistical models)(特别是,线性模型或者有线性成分的模型),同时也用于构建设计矩阵(design matrices)。该包的开发受到了R或S语言中的公式微语言(the formula mini-language)的启发,并与其兼容。

举例来说,如果我们有变量y和变量 x,a,b。我们想求出变量y与变量x,a,b之间的回归关系,其中变量a和b之间存在着交互作用,则公式可写为:

patsy.dmatrices("y ~ x + a + b + a:b", data)

树莓派 freebsd相关信息

raspberrypi-running-freebsdarm

freebsd下如何安装摄像头

 

freebsd 树莓派 wiki

安装系统对我来说不是问题,关键是后面,怎么安那些驱动啥的啊!

# uname -a
FreeBSD rpi2 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r292413: Fri Dec 18 11:16:56 UTC 2015     root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI2  arm
root@rp

2016.1.19日补充:

顺便把家里路由器的dns换掉,从8.8.8.8 换成
202.102.152.3
202.102.154.3

这也是没有办法啊,因为经常网络不通!

 

树莓派那块,现在把摄像头装好了,中间有曲折,估计是接触不好的原因。

安装方法如下:

Setting up the Raspberry Pi Camera

  • Install the Raspberry Pi Userland tools:
    • pkg install raspberrypi-userland (misc/raspberrypi-userland)

  • Enable the video core and up the RAM allocated to the GPU, by adding the following to /boot/msdos/CONFIG.TXT:
    • start_x=1

    • gpu_mem=128

  • Reboot
  • Test:
    • raspistill -t 100 -n -o snap-`date +%Y%m%d-%H%M%S`.jpg

 

 

龙虎榜统计

# -*- coding: utf-8 -*-
“””
Created on Tue Sep 15 21:50:19 2015

@author: Administrator
“””

import tushare as ts

aa=ts.inst_detail()
print(“机构买入、卖出信息统计”)
print(aa[:50])

手工检查,发现今天的数据是32项,所以:

bb=aa[:32]

bb=bb.drop_duplicates(‘code’)

bb
Out[33]:
code   name        date   bamount   samount  0   300432   富临精工  2015-10-28   5789.10    897.93
1   000566   海南海药  2015-10-28    101.18      0.00

 

d=bb[‘bamount’].sum()

e=bb[‘samount’].sum()

d

Out[40]: 67145.9

e
Out[41]: 109086.06999999999

得出统计:

10.28日机构买入67145.9万
10.28日机构卖出109086.07万

tushare 使用通联数据

st = ts.Market()

df = st.MktEqud(tradeDate=’20150917′, field=’ticker,secShortName,preClosePrice,openPrice,highestPrice,lowestPrice,closePrice,turnoverVol,turnoverRate’)

df[‘ticker’] = df[‘ticker’].map(lambda x: str(x).zfill(6))

df
Out[23]:
ticker secShortName  preClosePrice  openPrice  highestPrice  0     000001         平安银行         10.900     10.850        11.140
1     000002          万科A         13.430     13.350        13.390
2     000004         国农科技         26.500     26.260        27.350

 

Web Plotting Python金融分析学习

练习了2个数据源的,分别是yahoo和tushare的

 

import numpy as np

import pandas as pd

url=’http://ichart.yahoo.com/table.csv?s=MSFT&a=0&b=1&c=2009′
data=pd.read_csv(url,parse_dates=[‘Date’])

data.plot(x=”Date”,y=’Close’)

就能看到微软2009年的走势图了

 

第二种方法是从tushare获取数据:

data1=ts.get_hist_data(‘sh’)

但是这里获取的数据没有常规的日期列,需要把索引复制到日期列里:

data1[‘Date’]=data1.index

data1.plot(x=’Date’,y=’close’)

这样就能看到近3年的上证走势图了!

 

顺便学习了Bokeh绘图,好像这个挺推荐的:

可以直接输出网页,可以实时绘图!

from bokeh.plotting import figure, output_file, show

# prepare some data
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

# output to static HTML file
output_file("lines.html", title="line plot example")

# create a new plot with a title and axis labels
p = figure(title="simple line example", x_axis_label='x', y_axis_label='y')

# add a line renderer with legend and line thickness
p.line(x, y, legend="Temp.", line_width=2)

# show the results
show(p)

真的需要盲目烧钱追求大数据吗? zt

http://news.xinhuanet.com/info/2013-05/16/c_132386147.htm

大数据可能是现在最炙手可热的技术名词了。热就意味着有泡沫,有值得反思的地方。Quartz的Christopher Mims 5月6日发表了一篇文章,名为“大多数数据都不大,假装大数据其实是瞎浪费钱”,有理有据,推荐一读。以下为译文:

  如果你现在还没有加入大数据的阵营, 那你想办法弄到一些。毕竟, 竞争需要大数据。如果你的数据量很小, 你将被竞争对手彻底打败。

作为顾问和 IT公司向企业推销的另一个大项目,在大数据背后的猜想还存在很多问题。幸运的是,诚实的大数据实践者(又称数据科学家)从不放下怀疑态度, 并提出了一系列对大数据大肆宣传感到厌倦的理由。如下:

理由一,即使像Facebook和Yahoo!这样的互联网巨头也并非总是处理大数据,Google风格工具的应用是不合适的

Facebook和雅虎运行其巨型集群机(功能强大的服务器集合)来处理数据。必须要进行集群处理是大数据的标志之一。毕竟,在家用PC就能处理的数据不能称为大数据。将业务拆分为小业务,使用一系列的计算机来处理每个小业务的必要性,是类似Google计算世界上每一个网页排名的大数据问题典型特点。

现在看来,对于Facabook和Yahoo!来说,每个业务都是用同样规模的集群机是不必要的。比如Facebook的情况,工程师提交给集群机的大多数任务都是 MB到GB的范围,完全可以在一台计算机甚至笔记本电脑上完成。

Yahoo!也存在类似的情况, Yahoo!集群机所处理的数据中位数只有 12.5GB,通常台式电脑不能处理这种任务,但一台配置较好的服务器完全可以胜任。

以上观点均提炼于Microsoft Research的一篇名为《 Nobody ever got fired for buying a cluster》的论文。论文中指出即使是在最渴求数据的公司,多数问题也不必集群处理。因为对于大量问题类型而言,集群是一个相对低效 甚至是完全不合适的解决方案。

理由二,大数据已经成为数据分析的代名词,这种定义是混乱的,并会起到反作用。

数据分析最早可追溯到为皇家粮仓的所有粮食制表统计,但是现在你必须要在数据前加“大”字,必要的数据分析已经卷入了一场较大但是用处不大的流行风暴中。例如,一篇文章告诫读者“ 3个步骤将大数据运用到你的小企业中”,其实小企业的数据量谷歌文档就能处理,更不说用笔记本的EXCEL了。

这就是说,实际上大多数企业处理的数据都是被Open Knowledge Foundation的Rufus Pollock所说的小数据。这很重要,这是一场“革命”, Pollock称。但它与大数据关系不大。

理由三,超大化你的数据规模正在变成一件得不偿失的事情

数据越多就越好吗?不尽然。如果你正在寻找相关方程式——x,y的关系,如何能给我提供有效信息?实际上数据越多,随之而来的麻烦也越大。

能从大数据中提取的信息会随着数据规模的增加而减少,Michael Wu(社交媒体分析公司Lithium的首席数据分析学家) 写道。这意味着越过了某一点后,继续增加数据所产生的边际数据回报率减少到如此地步,收集更多数据仅仅是浪费时间。

原因之一:数据越“大”,寻找相关性时错误信息会更多。正如数据分析家Vincent Granville在《 The curse of big data》(《大数据的诅咒》)中写道的:即使只包括1000个条目的数据集,也很容易会陷入处理几百万个相关分析的处境。”这意味着,“所有这些相关分析,有些可能会高度符合,但这仅仅是一种偶然:如果你使用这种相关分析作为预测模型,结果将会错误”。

这个错误经常在大数据的原始应用领域之一遗传学中突然出现。对基因组序列有兴趣的科学家苦心找寻其相关性而进行的无休止的研究,最终却得出了各种毫无益处的结果。

理由四,在某些情况下,大数据会令你茅塞顿开,但也可能会令你陷入困惑。

公司一旦开始使用大数据,就深陷于一系列艰涩学科的研究中——统计,数据质量,和其他构成“数据科学”的一切。就像那些每天都需要发表出版物的科学,经常会被忽视或是被修正,或是从未被证实,这之中的陷阱实在太多了。

数据收集方式的偏见,上下文的缺乏,数据聚集的缺口,数据的人工处理模式和整体认知偏差都会导致即使最好的研究人员也可能发现错误的相关模型, 麻省理工学院媒体实验室客座教授Kate Crawford说:“我们可能会陷入某种算法幻觉中”。换句话说,即使你有大数据,也并非IT部门的任何人都能处理的,他可能需要有博士学位或等量经验。当处理完成后,他们的答案可能是你并不需要“大数据”。

那么哪个更好——大数据或小数据?

你的业务需要数据吗?当然需要。但是只有 尖头发呆伯特的老板才会像赶时髦一样购买具有所谓重要性的数据规模。在科学领域同样存在着企业使用数据制定决策时固有的问题——数据质量,总体目标以及上下文和直觉的重要性。记住:Gregor Mendel仅利用一本笔记本的数据就发现了遗传的秘密。重要是数据的质量,而不是数据的规模。

pandas新手教程之基础篇 zt

python api文档见这里:

https://www.ricequant.com/api/python/chn

Jupyter Notebook社区 策略研究 我的策略 帮助 登出 tutorials_basic Last Checkpoint: Last Wednesday at 3:29 PM (autosaved)
Ipython List策略研究列表
Python 3
File
Edit
View
Insert
Cell
Kernel
Help
Cell Toolbar:
pandas新手教程之基础篇
下面是关于pandas以及其生态系统下的libraries的基础运用展示
基础篇教程分10节,从最基础的Series和DataFrame讲起,直到最后做成最基本的移动均线和标准差,达到可以基本可以使用ricequant上ipython       notebook的级别。

注:一些要调用的libraries,之后会用到
在手打运行参考代码的时候,一定要对齐,一定要对齐,一定要对齐!重要的事情说三遍!(⊙o⊙)
另由于教程的篇幅,所以设置了显示的最长行数31,保证有一个月的数据能够在教程中显示出来
In [8]:

from pandas import Series, DataFrame
import pandas as pd
import numpy as np
import scipy as sp
import statsmodels.tsa.stattools as sts
import matplotlib.pyplot as plt
import statsmodels.api as sm
pd.options.display.max_rows = 31
1:series
Pandas最重要的数据结构有二,Series和DataFrame,Panel暂不涉及。本节主要提到pandas series的一些基本操作
In [9]:

labels = [‘a’,’b’,’c’,’d’,’e’]
s2 = Series(np.random.randn(5),index =labels)
s2
Out[9]:
a   -1.333205
b   -1.049079
c    1.431448
d    0.292383
e    0.918513
dtype: float64
In [6]:

‘b’ in s2
Out[6]:
True
In [4]:

s2[‘b’]
Out[4]:
-0.36129673980263433
to_dict查看词典
In [5]:

mapping = s2.to_dict()
mapping
Out[5]:
{‘a': -0.38272820928427753,
‘b': -0.36129673980263433,
‘c': -0.13586616742241123,
‘d': -1.1435589583111128,
‘e': -2.193229583218169}
通过词典的方式也可以构建Series
In [6]:

Series(mapping)

Out[6]:
a   -0.382728
b   -0.361297
c   -0.135866
d   -1.143559
e   -2.193230
dtype: float64
一次取数据的长度默认为一年,见下,至于为什么是如此的数据结构,结尾彩蛋告诉你~
In [7]:

ts = get_price(‘600208.XSHG’)[‘ClosingPx’][-10:]
ts
Out[7]:
MDEntryDate
2013-12-20    3.17
2013-12-23    3.18
2013-12-24    3.17
2013-12-25    3.16
2013-12-26    3.11
2013-12-27    3.16
2013-12-30    3.17
2013-12-31    3.20
2014-01-02    3.19
2014-01-03    3.13
Name: ClosingPx, dtype: float64
声明了strat_date & end_date 以后才可以进行更个性化的定制,当然了,美股别忘记加上国家’us’
In [8]:

tsspecial = get_price(‘AAPL.US’,’us’, start_date=’2001