比特币挖矿——介绍
比特币挖矿——入门
#区块链
说比特币之前,先来说说虚拟货币,以及虚拟币的价值。比如说,百度文库文下载章需要付点数,自己上传文件被别人下载可以得到点数,点数就是虚拟货币,如果没有点数,又能想下文档,可以用钱兑换,这就是虚拟货币与真实货币的关系。至于一个点数研究值多少钱,又怎么给一篇文档定价,一般会借鉴类似资源的定价,使用的人多了,虚拟货币的价值也逐渐趋于稳定。
比特币是最流行的虚拟货币,它是基于 P2P 的数字货币,在互联网的某处,每
10 分钟产生 13
个币,至于新产生的币归谁,就看谁挖到了(也就是挖矿,具体算法后面说明)。一般大家最大的疑问是:算法产生的一串数就能对应真金白银吗?来看看货币的价值:钱是一张纸,印这张纸花多少钱是它的自然属性,它能当多少钱花是它的社会属性,我们更关注它能当多少钱花。钱的使用价值是以发行方的信用作担保的,也就是说有国家在,就不用担心你的钱明天变成废纸。那谁给比特币谁作担保呢?上学的时候学:说一个事物,要么是主观的,要么是客观的,现在说,介于主观和客观之间叫互为主体
(intersubjective),即:相信的人多了,它就存在了。随着比特币越来越多的被 ...
Python股票处理之八_大数定律
Python 股票处理之八 _
大数定律
1. 引子
有一天,我看见一个预测日涨跌的程序,成功率在百分之七十几,于是分享给
X 同学。结果人家说“70% 多,这准确率高么?瞎蒙的准确率也有 50%”
这准确率高么?只靠对技术形态的判断,好像也还行吧?如果有 70%
的正确率,到底怎么做赢的机会比较大?达到多少百分比,才能够满意?
看《程序员的数学 2:概率统计》中有一道类似的习题:设结果甲出现概率为
0.7,结果乙出现概述为
0.3,且不论甲还是乙,只要猜中,就能获得下注同等的金额,猜不中则输掉赌资。显然选择甲是明智的做法。假设你每天都会参与这场赌博,你会将占总资产比例
p 的金额投给甲,p 在整个过程中保持不变,请问应该如何设定 p
值?(我把该题简化了,大概是这个意思)
如果只考虑一天,显然把所有资产都投给甲p=1是最佳选择,然而不断重复赌局时,总会出现没有中奖而失去所有财产的情况。下面写一个程序模拟这个赌局:
2.程序
12345678910111213141516171819202122232425262728293031323334353637# -*- coding: ut ...
Python数据分析常用工具
Python 数据分析常用工具
1.Numpy:
科学计算基础包, 提供矩阵数据类型、矢量处理,以及精密的运算库。
1$ pip install numpy
2.Pandas:
基于
Numpy,最初被作为金融数据分析工具而开发出来,一般用于处理结构化数据。
1$ pip install pandas
3.Matplotlib:
绘制数据图表
1$ pip install matplotlib
4.Seaborn:
在 Matplotlib 的基础上进行了更高级的 API
封装,从而使得作图更加容易。
1$ pip install seaborn
5.IPython:
Python 的交互式 shell,比默认的 python shell
好用,支持变量自动补全,自动缩进,支持 bash shell
命令,内置了许多很有用的功能和函数。
1$ sudo apt-get install ipython
6.Scipy:
科学计算中标准问题,包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等.
1$ pip install scipy
Python股票处理之七_数据库存储
Python 股票处理之七 _
数据库存储
1. 说明
股票数据无需每次都从网上下载,像日线级别的历史数据会常常用到,使用多线程下载一般也需要几个小时,最好存储到本地,除了已有的特征值,还有清洗后的数据,和计算出的新特征值,以及需要与其它程序共享数据。相对于数据文件,使用数据库更合适。
本文介绍 pandas(数据结构支持)通过 sqlalchemy 与数据库连接,存储
tushare 下载的日线数据,用一套代码操作不同数据库(Mysql/sqlite)。
2. 安装数据库
1) Sqlalchemy 工具
1$ pip install sqlalchemy
2) Mysql 数据库
12345$ sudo apt-get install mysql-server$ sudo apt-get install mysql-client$ mysql -u root –pmysql> create database stock # 建立名为stock的数据库,之后程序中会用到mysql> show databases; # 显示已有的数据库
3) Sqlite 数据库
1234 ...
Python股票处理之五_直方图统计
Python 股票处理之五 _
直方图统计
1. 说明
直方图 (Histogram)
又称质量分布图。是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况(见下图)。
直方图是统计中的常用工具,在图像处理中,经常通过边缘或者颜色统计计算直方图,并通过直方图匹配实现图像识别;也可以据此判断颜色分布,以调节色彩均衡;还可以筛选出感兴趣的区域,并做进一步处理。
在股票数据处理中,也同理,统计出直方图后,可利用它和以往数据匹配,寻找近似的情况;统计有效数据集中区域,并聚焦于该区域进一步处理。
下面是一个最简单的实例:每天我们能看出大盘的整体涨跌,但并不了解各股涨跌情况的分布(比如:是普涨还是二八行情),下例分析并显示了昨天各股涨跌幅主要分布在哪些区间内。
2. 程序
1) 代码
123456789101112# -*- coding:utf-8 -*- import tushare as tsimport numpy as np import matplotlib.pyplot as plt e = ts.get_today_all()cc = e[u'c ...
Python股票处理之六_数据预处理A
Python 股票处理之六 _
数据预处理 A
1. 说明
在数据统计和预测的过程中,工程师基本都使用现成的算法,工程师的主要工作是根据具体业务逻辑预处理数据和选择算法。
首先要对数据预处理(数据清洗),包括数据的归一化,去除重复数据,修改错误数据,填充无效数据,抽象数据表示,筛选特征值,分配权重等等,以得到更准确的数据和更有效的结果。
继续上次关于股票直方图的话题,来看看简单的股票数据预处理。左图是昨天股票涨跌的直方图,从中看出,涨跌幅分布在
-10 到 50 的区间内。
涨幅超过 10% 是因为计入了新股的首日涨幅,跌涨超过
-10%,可能由于分红配送等原因引起。下面程序中将对此区域进行特殊处理。
对于当日停牌的数据,它的开盘价收盘价最高价最低价都是同一个值,如果加入统计,会在
0 附近形成一个无意义的峰值,在预处理中也把它去掉。
如果用左图结果做一个从 (-10,10) 共计 20
个区间的分类器,那么结果多半会落入 (-1,1)
的区间内,这并不是我们想要的。我们更希望看到的是将 3000
多支股票平均分布在这 20
个区域,每个区域股票数量相同,但是各区域大小不同。根据区域得 ...
Python股票处理之三_实时监测
Python 股票处理之三 _
实时监测
1. 说明
写个脚本帮你每天盯着某几支股票,达到预设值时响铃提醒。这是最简单的股票应用,虽然谈不上智能,但是自动化――老盯着就容易冲动操作。
本例中实现了每 5 秒取一次股票数据,并在上证指数高于 3200 点,或
601318 低于 49 元时响提醒。
2. 程序
1234567891011121314151617181920import osimport timeimport tushare as tsimport pandas as pddef check(code, low, high): df = ts.get_realtime_quotes(code) e = df[['code','name','price','time']] p = df[u'price'] print e if float(p[0]) > low and float(p[0]) < high: return True else : return ...
Python股票处理之二_数据存盘
Python 股票处理之二 _
数据存盘
1. 说明
有些历史数据不用每次下载,可以存储到本地。尤其在调试阶段,省去了每测一遍都要下载数据的时间和流量。
Python
存储数据非常方便,完全不用考虑数据库的格式,存进去是那个结构,取出来还是那个结构,屏蔽了所有细节。
具体使用 HDF
格式,该格式可以存储不同类型的图像和数码数据的文件格式。
2. 安装相关库
123$ sudo apt-get install libhdf5-dev$ sudo pip install h5py$ sudo pip install --upgrade tables
3. 程序
1) 存储
12345678import tushare as tsimport pandas as pde = ts.get_today_all()print eh5 = pd.HDFStore('data/tmp.h5','w')h5['data'] = e h5.close()
2) 读取
123456import pandas as pdh5 = pd.HDFSt ...
Python股票处理之四_股票筛选
Python 股票处理之四 _
股票筛选
一、说明
本例实现了股票筛选功能。
前一半是过滤出市盈率在 0-30 倍之间,且今日换手率>1%,涨幅超 2%
的股票。
后一半统计今日涨停和接近涨停的股票。
二、程序
1234567891011121314151617181920212223242526272829303132#! usr/bin/python #coding=utf-8import pandas as pdimport tushare as tse = ts.get_today_all()code = e[u'code']name = e[u'name']per = e[u'per'] # 市盈率tt = e[u'turnoverratio'] # 换手率cc = e[u'changepercent'] # 涨跌幅mm = e[u'mktcap'] # 总市值idx = len(name)total = 0while idx > 0: idx ...
Python股票处理之一_获取国内股票数据
Python 获取国内股票数据
1 安装支持库
12$ pip install panda$ pip install tushare
2 说明
Pandas 是数据分析工具包
TuShare
是国内股票数据抓取工具,除了股票的实时和历史数据,还有基本面数据,加上自然语言处理(比如情绪分析),或者机器学习,就比较有趣了。
3 程序
3.1 代码
123456import tushare as tsd = ts.get_tick_data('601318',date='2017-06-26')print de = ts.get_hist_data('601318',start='2017-06-23',end='2017-06-26')print e
3.2 执行结果
1234567891011…4758 09:30:01 50.02 0.03 1044 5226339 买盘4759 09:28:45 49.99 -- 0 0 卖盘4 ...