linux的crontab中每隔一段时间是以什么为准

*/10 * * * * date >> /home/user/test.log
 
比如上面的语句, 每个10分钟运行一次,这个大家都知道(不知道的可以google),可是在运行中,这个10分钟是什么开始的呢? 
从上面运行的test.log记录的文件来看,这个10分钟是以当前的时钟,从0点开始算起的10分钟,比如你刚刚设定的crontab的时间是1点15分,那么脚本运行的时间是1点20分,因为这个时间间隔是0,10,20,30,40,50,0分这种规律执行的,并不是在你配置后crontab的时间(1点15分+10分钟,即1点25分)。所以如果你设定的是
*/40 * * * * date >> /home/user/test.log

那么执行的结果是0点40分,1点20分,2点,2点40分,3点20分。。。。这样的执行顺序。
有点奇葩。
继续阅读 »
*/10 * * * * date >> /home/user/test.log
 
比如上面的语句, 每个10分钟运行一次,这个大家都知道(不知道的可以google),可是在运行中,这个10分钟是什么开始的呢? 
从上面运行的test.log记录的文件来看,这个10分钟是以当前的时钟,从0点开始算起的10分钟,比如你刚刚设定的crontab的时间是1点15分,那么脚本运行的时间是1点20分,因为这个时间间隔是0,10,20,30,40,50,0分这种规律执行的,并不是在你配置后crontab的时间(1点15分+10分钟,即1点25分)。所以如果你设定的是
*/40 * * * * date >> /home/user/test.log

那么执行的结果是0点40分,1点20分,2点,2点40分,3点20分。。。。这样的执行顺序。
有点奇葩。 收起阅读 »

使用优矿获取股市的基本数据 实例操作

1. 每日行业个股换手率排名
DataAPI.MktRANKInstTrGet

 行业名称,如:传媒,电气设备等,可多值输入,以下为申万28个行业名称:休闲服务,房地产,商业贸易,综合,钢铁,农林牧渔,食品饮料,采掘,电子,国防军工,通信,公用事业,交通运输,轻工制造,计算机,电气设备,家用电器,医药生物,传媒,非银金融,汽车,有色金属,机械设备,建筑材料,化工,纺织服装,银行,建筑装饰,可以是列表,可空
 
实例
 
原创文章
转载请注明出处:http://30daydo.com/article/306
 
继续阅读 »
1. 每日行业个股换手率排名
DataAPI.MktRANKInstTrGet

 行业名称,如:传媒,电气设备等,可多值输入,以下为申万28个行业名称:休闲服务,房地产,商业贸易,综合,钢铁,农林牧渔,食品饮料,采掘,电子,国防军工,通信,公用事业,交通运输,轻工制造,计算机,电气设备,家用电器,医药生物,传媒,非银金融,汽车,有色金属,机械设备,建筑材料,化工,纺织服装,银行,建筑装饰,可以是列表,可空
 
实例
 
原创文章
转载请注明出处:http://30daydo.com/article/306
  收起阅读 »

2018-05-02 复盘

今日操作:

1. 万信转债 T+0 操作,因为费率十万分之5,所以操作较为高频。 这个操作其实使用自动化下单来操作。 这样就不需要盯盘或者不断埋单,撤单。

2. 把前期中的可转债的签,利欧转债,岩土转债割肉了,买入了江阴转债,为了今晚江阴会下调转股价。

果不其然,晚上江阴银行发公告,下调了转股价,下调了转股价后,现在的转股价格为95.869,那么明天的可转债价格大概率会在103上面。

明天计划:开盘就卖出江阴转债,然后把资金买入无锡转债(如果无锡转债价格低于100)

3. 尾盘买入了兆日科技,前期芯片连班+超跌。 尾盘看着芯片板块跌不下去了,目前还没有其他热门板块(医药作为防守,容易追高被套),所以还是继续介入芯片板块。

明天计划:高开就卖出(10点前),除非强势涨停。

 
继续阅读 »
今日操作:

1. 万信转债 T+0 操作,因为费率十万分之5,所以操作较为高频。 这个操作其实使用自动化下单来操作。 这样就不需要盯盘或者不断埋单,撤单。

2. 把前期中的可转债的签,利欧转债,岩土转债割肉了,买入了江阴转债,为了今晚江阴会下调转股价。

果不其然,晚上江阴银行发公告,下调了转股价,下调了转股价后,现在的转股价格为95.869,那么明天的可转债价格大概率会在103上面。

明天计划:开盘就卖出江阴转债,然后把资金买入无锡转债(如果无锡转债价格低于100)

3. 尾盘买入了兆日科技,前期芯片连班+超跌。 尾盘看着芯片板块跌不下去了,目前还没有其他热门板块(医药作为防守,容易追高被套),所以还是继续介入芯片板块。

明天计划:高开就卖出(10点前),除非强势涨停。

  收起阅读 »

删除MIUI ROM里面的内置软件

抽屉利的三星S4手机,打算拿来做接收邮件专用的。 但是系统很久,旧到无法安装微信。
于是下载了小米的MIUI7的ROM, 根据官方的教程刷好了小米的ROM。
 
刚开始还是很流畅的。 可是后面发现越来越多的广告和app弹窗。太烦了,有豌豆荚,今日头条,搜狗浏览器,搜狗助手,而且还有一些不知道是什么app来的,经常在通知栏里面弹出来,屏保的时候整个画面都是广告。 烦不胜烦,在设置里面,看到这些app都没有可以选择卸载的地方。 把它们的服务停止了,问题依然存在,广告弹个不停,最大的问题是整个手机一直处于下载广告状态, 网速栏里面一直看到网速800-900,后台某些程序在一直联网。
 
忍无可忍后,把数据线接入手机,使用adb把这些流氓软件给删除掉。 打开手机的root权限。
 
然后运行
adb root
adb remount
然后你就可以对手机为所欲为了。
 
首先进入如下的目录:ls一下
Screenshot_from_2018-04-29_15-39-52.png

看到了这些软件的包名,然后不客气,直接rm -f *
删除之。
 
然后还可以把小米的一些无用的app也删除,像自带的百度输入法(定制版,经常有广告,屏保也有广告)。
Screenshot_from_2018-04-29_15-43-08.png

同样rm xxx.apk
删除你不想要的app名字。
 
最后重启下手机就可以,手机顿时清净很多。
 
 
继续阅读 »
抽屉利的三星S4手机,打算拿来做接收邮件专用的。 但是系统很久,旧到无法安装微信。
于是下载了小米的MIUI7的ROM, 根据官方的教程刷好了小米的ROM。
 
刚开始还是很流畅的。 可是后面发现越来越多的广告和app弹窗。太烦了,有豌豆荚,今日头条,搜狗浏览器,搜狗助手,而且还有一些不知道是什么app来的,经常在通知栏里面弹出来,屏保的时候整个画面都是广告。 烦不胜烦,在设置里面,看到这些app都没有可以选择卸载的地方。 把它们的服务停止了,问题依然存在,广告弹个不停,最大的问题是整个手机一直处于下载广告状态, 网速栏里面一直看到网速800-900,后台某些程序在一直联网。
 
忍无可忍后,把数据线接入手机,使用adb把这些流氓软件给删除掉。 打开手机的root权限。
 
然后运行
adb root
adb remount
然后你就可以对手机为所欲为了。
 
首先进入如下的目录:ls一下
Screenshot_from_2018-04-29_15-39-52.png

看到了这些软件的包名,然后不客气,直接rm -f *
删除之。
 
然后还可以把小米的一些无用的app也删除,像自带的百度输入法(定制版,经常有广告,屏保也有广告)。
Screenshot_from_2018-04-29_15-43-08.png

同样rm xxx.apk
删除你不想要的app名字。
 
最后重启下手机就可以,手机顿时清净很多。
 
  收起阅读 »

ubuntu输入密码后一直无法进入系统,继续返回在登录界面

之前一直好好的,突然一直无法登录,密码是正确的。然后按照网上的大部分教程那样,通过Ctrl+Alt +F6 进入命令行模式,可以正常登录。

然后也尝试修改.Xauthority的权限,给个777. 重启后还是不行,然后尝试把这个文件直接删除,还是无法登录图形界面。 好多人也说是显卡驱动问题,可是我根本没有修改任何的图形的设置,或者安装过显卡的驱动。
然后在GRUB启动菜单中,进入其他的内核版本。

居然用一个旧的内核版本,居然可以进入系统的图形界面。linux-4.2.0.38,而最新的4.2.0.39会一直出现问题。
所以问题就解决了。
 
但是不能每次开机都要手动选择一次grub的菜单,然后进入到ubuntu advanced菜单中选择里面的低内核版本。
 
然后按照网上的套路,修改/boot/grub/grub.cfg, 可是这文件是系统文件,一直是只读状态,无法修改。 尝试进入recovery模式的root用户下,也改不了。
 
所以想到可以把内核4.2.0.39给删除掉。
 
apt remove linux-4.2.0.39-XXXXX  (后面的一串字符忘记了,你可以打开grub.cfg里面找到的)
 
结果,在卸载内核的同时,居然还给我升级到了linux-4.2.0.40内核版本,实在无语。。 而尝试通过这个最新的linux-4.2.0.40内核版本进入系统,可是老问题依然存在,无法登录系统。
 
于是只好再手工删除这个linux-4.2.0.40内核。
 
最后,所有内核自身一个linux-4.2.0.38. 然后update-grub, 默认就会进入linux-4.2.0.38的内核的ubuntu,然后就可以登录ubuntu的图形界面的了。
 
## 如果上面的方法无法解决,那么可以使用下面的方法:
1. 停止桌面 service stop lightdm
2 重装nvidia显卡驱动 ./Nviia**.run
3. 重启机器即可
 
后记:
已经遇到这个问题好几遍,基本每次解决方案都不一样,真的崩溃呀.
 
继续阅读 »
之前一直好好的,突然一直无法登录,密码是正确的。然后按照网上的大部分教程那样,通过Ctrl+Alt +F6 进入命令行模式,可以正常登录。

然后也尝试修改.Xauthority的权限,给个777. 重启后还是不行,然后尝试把这个文件直接删除,还是无法登录图形界面。 好多人也说是显卡驱动问题,可是我根本没有修改任何的图形的设置,或者安装过显卡的驱动。
然后在GRUB启动菜单中,进入其他的内核版本。

居然用一个旧的内核版本,居然可以进入系统的图形界面。linux-4.2.0.38,而最新的4.2.0.39会一直出现问题。
所以问题就解决了。
 
但是不能每次开机都要手动选择一次grub的菜单,然后进入到ubuntu advanced菜单中选择里面的低内核版本。
 
然后按照网上的套路,修改/boot/grub/grub.cfg, 可是这文件是系统文件,一直是只读状态,无法修改。 尝试进入recovery模式的root用户下,也改不了。
 
所以想到可以把内核4.2.0.39给删除掉。
 
apt remove linux-4.2.0.39-XXXXX  (后面的一串字符忘记了,你可以打开grub.cfg里面找到的)
 
结果,在卸载内核的同时,居然还给我升级到了linux-4.2.0.40内核版本,实在无语。。 而尝试通过这个最新的linux-4.2.0.40内核版本进入系统,可是老问题依然存在,无法登录系统。
 
于是只好再手工删除这个linux-4.2.0.40内核。
 
最后,所有内核自身一个linux-4.2.0.38. 然后update-grub, 默认就会进入linux-4.2.0.38的内核的ubuntu,然后就可以登录ubuntu的图形界面的了。
 
## 如果上面的方法无法解决,那么可以使用下面的方法:
1. 停止桌面 service stop lightdm
2 重装nvidia显卡驱动 ./Nviia**.run
3. 重启机器即可
 
后记:
已经遇到这个问题好几遍,基本每次解决方案都不一样,真的崩溃呀.
  收起阅读 »

2018-04-28 周复盘

以后需要把自己的每天的操作记录下来,每天记录复盘。才可以知道对与错。

操作:

I.
23日买入的全志科技:
正确,因为最近的风头在芯片板块。 趁调整的时候进入。 【调整的时候,如果开盘跌倒-8个点,可以考虑入,不然最好尾盘再进,怕被套】

24日就卖出。
正确,本身就是做一日游行情。最近芯片都是调整,龙头是紫光国芯(另外一只华锋股份买不到,一字版),龙头先跌,龙头先涨。
有赚就可以,别顾虑什么卖飞。 记住,没人能够卖在最高点。

II.
26日买入华天科技:
错误,跟风小弟,波动率不够。 买入的时候没有在尾盘买,当天被套。 是一时冲动买的,没有计划。
卖出,正确。 本身的冲动买入,就不应该持有过久。 亏2.5个点出局, 27日芯片板块大调整。

III.
深F120
定投ETF。 应该在跌的时候坚定买入。 基金定投在亏的时候买入越多,待到牛市才会收获慢慢。

IV.
赛为智能
25日卖出,因为刚刚解套,就出掉了。 卖飞,不过正确,当天的的大阳线后接着两天出现阴线,震荡趋势中,有阳线就应该走,因为后面肯定有机会可以接回来。

V.
万信转债
这个股,已经被我做T做烂, 已经累计了不少了盈利。 对着正股来操作可转债,安全边际很高, 而且成功率很高。 T+0,还有折价10个点。

VI.
中签的岩土,利欧,无锡全部割掉。这些破发的留太久没什么好处,应该更为坚决,第一天开盘就卖!
周五想买回无锡转债,因为周五可能会发布下调转股价的公告,结果但是觉得可能没那么快就发公告,就没买回来。 结果周五还真发的公告了,下周肯定高开2个点以上。

 
继续阅读 »
以后需要把自己的每天的操作记录下来,每天记录复盘。才可以知道对与错。

操作:

I.
23日买入的全志科技:
正确,因为最近的风头在芯片板块。 趁调整的时候进入。 【调整的时候,如果开盘跌倒-8个点,可以考虑入,不然最好尾盘再进,怕被套】

24日就卖出。
正确,本身就是做一日游行情。最近芯片都是调整,龙头是紫光国芯(另外一只华锋股份买不到,一字版),龙头先跌,龙头先涨。
有赚就可以,别顾虑什么卖飞。 记住,没人能够卖在最高点。

II.
26日买入华天科技:
错误,跟风小弟,波动率不够。 买入的时候没有在尾盘买,当天被套。 是一时冲动买的,没有计划。
卖出,正确。 本身的冲动买入,就不应该持有过久。 亏2.5个点出局, 27日芯片板块大调整。

III.
深F120
定投ETF。 应该在跌的时候坚定买入。 基金定投在亏的时候买入越多,待到牛市才会收获慢慢。

IV.
赛为智能
25日卖出,因为刚刚解套,就出掉了。 卖飞,不过正确,当天的的大阳线后接着两天出现阴线,震荡趋势中,有阳线就应该走,因为后面肯定有机会可以接回来。

V.
万信转债
这个股,已经被我做T做烂, 已经累计了不少了盈利。 对着正股来操作可转债,安全边际很高, 而且成功率很高。 T+0,还有折价10个点。

VI.
中签的岩土,利欧,无锡全部割掉。这些破发的留太久没什么好处,应该更为坚决,第一天开盘就卖!
周五想买回无锡转债,因为周五可能会发布下调转股价的公告,结果但是觉得可能没那么快就发公告,就没买回来。 结果周五还真发的公告了,下周肯定高开2个点以上。

  收起阅读 »

抄底?还是跳入火坑

对于抄底,个人的态度是谨慎的。 尽量不会去参与。 因为很多看起来的底,很有可能只是个下跌中继,下面还有地下室,地下车库,十八层地狱。尤其是那些经历多个缩量跌停的个股。 在趋势面前,没有人能够凭借一己之力扭转。

截几个图给大家看看:

抄底.PNG

富控互动(点击查看大图)

如果你去抄底了,在图示2的位置买入,假如你买入1W快,那么到今天(2018-04-27)如果没及时止损割肉,那么现在就剩6900.
而如果是从1的位置买入一直持有到现在,那么现在就剩4000元。

顺威.PNG

顺威股份(点击大图)

如果你在2位置抄底,那么现在会亏损40%

同样,如果你在2位置去抄底神雾


神雾.PNG


那么到现在你会亏损51%,而在3位置去抄底,那么你到现在会亏损31%,所以抄底过程中,如果你没有做好马上捞一笔就跑的习惯,还是不要去参与。参与了,就要跑的快,不论盈利或者亏损。 不然后面的都是深渊。
 
 
继续阅读 »
对于抄底,个人的态度是谨慎的。 尽量不会去参与。 因为很多看起来的底,很有可能只是个下跌中继,下面还有地下室,地下车库,十八层地狱。尤其是那些经历多个缩量跌停的个股。 在趋势面前,没有人能够凭借一己之力扭转。

截几个图给大家看看:

抄底.PNG

富控互动(点击查看大图)

如果你去抄底了,在图示2的位置买入,假如你买入1W快,那么到今天(2018-04-27)如果没及时止损割肉,那么现在就剩6900.
而如果是从1的位置买入一直持有到现在,那么现在就剩4000元。

顺威.PNG

顺威股份(点击大图)

如果你在2位置抄底,那么现在会亏损40%

同样,如果你在2位置去抄底神雾


神雾.PNG


那么到现在你会亏损51%,而在3位置去抄底,那么你到现在会亏损31%,所以抄底过程中,如果你没有做好马上捞一笔就跑的习惯,还是不要去参与。参与了,就要跑的快,不论盈利或者亏损。 不然后面的都是深渊。
 
  收起阅读 »

统计下各种券商的股票,债券,场内ETF基金,逆回购等手续费率

因为在网上查到的数据都是托(营业部的客户经理)写的,而且时效久远。
现在总结一些,可以给大家参考:

华泰证券:
股票:万分之1.5
可转债(沪深市):万分之5
EFT基金:万分之3

国金证券:
股票:万分之1
可转债(新规)沪,深:十万分之4.4


海通证券:
股票:万分之1.5
可转债(深市):万分之5
 
==========
万一免5开户链接
==========
另外一个券商:


如果电脑浏览器打不开(只兼容手机端)可以扫描下面二维码开户:

继续阅读 »
因为在网上查到的数据都是托(营业部的客户经理)写的,而且时效久远。
现在总结一些,可以给大家参考:

华泰证券:
股票:万分之1.5
可转债(沪深市):万分之5
EFT基金:万分之3

国金证券:
股票:万分之1
可转债(新规)沪,深:十万分之4.4


海通证券:
股票:万分之1.5
可转债(深市):万分之5
 
==========
万一免5开户链接
==========
另外一个券商:


如果电脑浏览器打不开(只兼容手机端)可以扫描下面二维码开户:

收起阅读 »

pandas中diff控制移动方向,向上移动

diff.PNG

初始化一个dataframe
 
然后使用默认的diff(periods=1)

shift.PNG

行的索引不变,数据被往下拉了一行。当然你也可以使用periods=2 ,那么数据整体会往下移2格。
 
如果要往上移动,只要把periods的值设为负的就可以了。
shift2.PNG


 
继续阅读 »
diff.PNG

初始化一个dataframe
 
然后使用默认的diff(periods=1)

shift.PNG

行的索引不变,数据被往下拉了一行。当然你也可以使用periods=2 ,那么数据整体会往下移2格。
 
如果要往上移动,只要把periods的值设为负的就可以了。
shift2.PNG


  收起阅读 »

树莓派中使用matplotlib出错 TypeError: constructor returned NULL

 
 File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 11, in <module>
from . import backend_gtk3
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_gtk3.py", line 54, in <module>
cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
TypeError: constructor returned NULL
 
上面的代码是在树莓派上运行出错的,而在本地的ubuntu上正常运行没问题。
后面查了下资料,原因是我用了ssh登录到树莓派,所以X11的模块没有被正常加载。
按照以下方法就可以解决问题了:
 
在代码中添加以下这一句:
matplotlib.use("Pdf")
 
而且这一句要在import matplotlib.pyplot as plt这句前面添加。
 
OK。
继续阅读 »
 
 File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 11, in <module>
from . import backend_gtk3
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_gtk3.py", line 54, in <module>
cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
TypeError: constructor returned NULL
 
上面的代码是在树莓派上运行出错的,而在本地的ubuntu上正常运行没问题。
后面查了下资料,原因是我用了ssh登录到树莓派,所以X11的模块没有被正常加载。
按照以下方法就可以解决问题了:
 
在代码中添加以下这一句:
matplotlib.use("Pdf")
 
而且这一句要在import matplotlib.pyplot as plt这句前面添加。
 
OK。 收起阅读 »

python安装mpl_finance [finance模块已经从matplotlib2.0.2中脱离出来]

最新的matplotlib中已经把其中的finance库脱离出来,目前还没有放入PIP的仓库中,所以使用pip install mpl_finance会提示找不到所需要的库.
 
解决办法:
到官方github中下载源码,然后在本地安装即可。 目前的mpl_finance的版本还是dev版,不过用起来也没什么大问题。
 
git clone git@github.com:matplotlib/mpl_finance.git
 
等待下载后,进入该目录, sudo python setup.py install
 
OK
 
继续阅读 »
最新的matplotlib中已经把其中的finance库脱离出来,目前还没有放入PIP的仓库中,所以使用pip install mpl_finance会提示找不到所需要的库.
 
解决办法:
到官方github中下载源码,然后在本地安装即可。 目前的mpl_finance的版本还是dev版,不过用起来也没什么大问题。
 
git clone git@github.com:matplotlib/mpl_finance.git
 
等待下载后,进入该目录, sudo python setup.py install
 
OK
  收起阅读 »

python获取涨停板历史数据

获取A股每天的涨停板数据,起始日期和截止日期都可以自定义。
这个数据可以用来后续的大数据分析,比如统计每天涨停板的数目和大盘指数的相关性,涨停打开次数与当日人气的强弱的关系。
 

Screenshot_from_2018-04-23_20-31-13.png
点击查看大图

python代码(pyhton2版本,另外最下面有python3版本的代码实现):
# -*- coding=utf-8 -*-
import datetime

__author__ = 'Rocky'
'''
http://30daydo.com
Contact: weigesysu@qq.com
'''
# 每天的涨跌停
import urllib2, re, time, xlrd, xlwt, sys, os
import setting
import pandas as pd
import tushare as ts
from setting import LLogger
reload(sys)
sys.setdefaultencoding('gbk')

logger = LLogger('zdt.log')
class GetZDT:
def __init__(self,current):
self.user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/64.0.3282.167 Chrome/64.0.3282.167 Safari/537.36"
# self.today = time.strftime("%Y%m%d")
self.today=current
self.path = os.path.join(os.path.dirname(__file__), 'data')
self.zdt_url = 'http://home.flashdata2.jrj.com.cn/limitStatistic/ztForce/' + self.today + ".js"
self.zrzt_url = 'http://hqdata.jrj.com.cn/zrztjrbx/limitup.js'

self.host = "home.flashdata2.jrj.com.cn"
self.reference = "http://stock.jrj.com.cn/tzzs/z ... ot%3B

self.header_zdt = {"User-Agent": self.user_agent,
"Host": self.host,
"Referer": self.reference}

self.zdt_indexx = [u'代码', u'名称', u'最新价格', u'涨跌幅', u'封成比', u'封流比', u'封单金额', u'最后一次涨停时间', u'第一次涨停时间', u'打开次数',
u'振幅',
u'涨停强度']

self.zrzt_indexx = [u'序号', u'代码', u'名称', u'昨日涨停时间', u'最新价格', u'今日涨幅', u'最大涨幅', u'最大跌幅', u'是否连板', u'连续涨停次数',
u'昨日涨停强度', u'今日涨停强度', u'是否停牌', u'昨天的日期', u'昨日涨停价', u'今日开盘价格', u'今日开盘涨幅']
self.header_zrzt = {"User-Agent": self.user_agent,
"Host": "hqdata.jrj.com.cn",
"Referer": "http://stock.jrj.com.cn/tzzs/zrztjrbx.shtml"
}

def getdata(self, url, headers, retry=5):
req = urllib2.Request(url=url, headers=headers)
for i in range(retry):
try:
resp = urllib2.urlopen(req,timeout=20)
content = resp.read()
md_check = re.findall('summary|lasttradedate',content)
if content and len(md_check)>0:
return content
else:
time.sleep(60)
logger.log('failed to get content, retry: {}'.format(i))
continue
except Exception, e:
logger.log(e)
time.sleep(60)
continue
return None

def convert_json(self, content):
p = re.compile(r'"Data":(.*)};', re.S)
if len(content)<=0:
logger.log('Content\'s length is 0')
exit(0)
result = p.findall(content)
if result:
try:
# print result
t1 = result[0]
t2 = list(eval(t1))
return t2
except Exception,e:
logger.log(e)
return None
else:
return None


def save_to_dataframe(self, data, indexx, choice, post_fix):
engine = setting.get_engine('db_zdt')
if not data:
exit()
data_len = len(data)
if choice == 1:
for i in range(data_len):
data[choice] = data[choice].decode('gbk')

df = pd.DataFrame(data, columns=indexx)

filename = os.path.join(self.path, self.today + "_" + post_fix + ".xls")
if choice == 1:
df[u'今天的日期']=self.today
df.to_excel(filename, encoding='gbk')
try:
df.to_sql(self.today + post_fix, engine, if_exists='fail')
except Exception,e:
logger.log(e)


def storedata(self):
zdt_content = self.getdata(self.zdt_url, headers=self.header_zdt)
logger.log('zdt Content'+zdt_content)
zdt_js = self.convert_json(zdt_content)
self.save_to_dataframe(zdt_js, self.zdt_indexx, 1, 'zdt')
time.sleep(5)

if __name__ == '__main__':
date_list = [datetime.datetime.strftime(i,'%Y%m%d') for i in list(pd.date_range('20170401','20171231'))]
for today in date_list:

if not ts.is_holiday(datetime.datetime.strptime(today,'%Y%m%d').strftime('%Y-%m-%d')):
print today
obj = GetZDT(today)
obj.storedata()
else:
logger.log('Holiday')



 
python3代码:
# -*- coding=utf-8 -*-
__author__ = 'Rocky'
'''
http://30daydo.com
Contact: weigesysu@qq.com
'''
# 每天的涨跌停
import re
import time
import xlrd
import xlwt
import sys
import os
import setting
from setting import is_holiday, DATA_PATH
import pandas as pd
import tushare as ts
from setting import llogger
import requests
from send_mail import sender_139
import datetime
# reload(sys)
# sys.setdefaultencoding('gbk')

logger = llogger(__file__)


class GetZDT:
def __init__(self):
self.user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/64.0.3282.167 Chrome/64.0.3282.167 Safari/537.36"
self.today = time.strftime("%Y%m%d")
self.path = DATA_PATH
self.zdt_url = 'http://home.flashdata2.jrj.com.cn/limitStatistic/ztForce/' + \
self.today + ".js"
self.zrzt_url = 'http://hqdata.jrj.com.cn/zrztjrbx/limitup.js'

self.host = "home.flashdata2.jrj.com.cn"
self.reference = "http://stock.jrj.com.cn/tzzs/z ... ot%3B

self.header_zdt = {"User-Agent": self.user_agent,
"Host": self.host,
"Referer": self.reference}

self.zdt_indexx = [u'代码', u'名称', u'最新价格', u'涨跌幅', u'封成比', u'封流比', u'封单金额', u'最后一次涨停时间', u'第一次涨停时间', u'打开次数',
u'振幅',
u'涨停强度']

self.zrzt_indexx = [u'序号', u'代码', u'名称', u'昨日涨停时间', u'最新价格', u'今日涨幅', u'最大涨幅', u'最大跌幅', u'是否连板', u'连续涨停次数',
u'昨日涨停强度', u'今日涨停强度', u'是否停牌', u'昨天的日期', u'昨日涨停价', u'今日开盘价格', u'今日开盘涨幅']
self.header_zrzt = {"User-Agent": self.user_agent,
"Host": "hqdata.jrj.com.cn",
"Referer": "http://stock.jrj.com.cn/tzzs/zrztjrbx.shtml"
}

def getdata(self, url, headers, retry=5):
for i in range(retry):
try:
resp = requests.get(url=url, headers=headers)
content = resp.text
md_check = re.findall('summary|lasttradedate', content)
if content and len(md_check) > 0:
return content
else:
time.sleep(60)
logger.info('failed to get content, retry: {}'.format(i))
continue
except Exception as e:
logger.info(e)
time.sleep(60)
continue
return None

def convert_json(self, content):
p = re.compile(r'"Data":(.*)};', re.S)
if len(content) <= 0:
logger.info('Content\'s length is 0')
exit(0)
result = p.findall(content)
if result:
try:
# print(result)
t1 = result[0]
t2 = list(eval(t1))
return t2
except Exception as e:
logger.info(e)
return None
else:
return None

# 2016-12-27 to do this
def save_excel(self, date, data):
# data is list type
w = xlwt.Workbook(encoding='gbk')
ws = w.add_sheet(date)
excel_filename = date + ".xls"
# sheet=open_workbook(excel_filenme)
# table=wb.sheets()[0]
xf = 0
ctype = 1
rows = len(data)
point_x = 1
point_y = 0
ws.write(0, 0, u'代码')
ws.write(0, 1, u'名称')
ws.write(0, 2, u'最新价格')
ws.write(0, 3, u'涨跌幅')
ws.write(0, 4, u'封成比')
ws.write(0, 5, u'封流比')
ws.write(0, 6, u'封单金额')
ws.write(0, 7, u'第一次涨停时间')
ws.write(0, 8, u'最后一次涨停时间')
ws.write(0, 9, u'打开次数')
ws.write(0, 10, u'振幅')
ws.write(0, 11, u'涨停强度')
print("Rows:%d" % rows)
for row in data:
rows = len(data)
cols = len(row)
point_y = 0
for col in row:
# print(col)
# table.put_cell(row,col,)
# print(col)
ws.write(point_x, point_y, col)
# print("[%d,%d]" % (point_x, point_y))
point_y = point_y + 1

point_x = point_x + 1

w.save(excel_filename)

def save_to_dataframe(self, data, indexx, choice, post_fix):
engine = setting.get_engine('db_zdt')
if not data:
exit()
data_len = len(data)
if choice == 1:
for i in range(data_len):
data[i][choice] = data[i][choice]

df = pd.DataFrame(data, columns=indexx)

filename = os.path.join(
self.path, self.today + "_" + post_fix + ".xls")

# 今日涨停
if choice == 1:
df['今天的日期'] = self.today
df.to_excel(filename, encoding='gbk')
try:
df.to_sql(self.today + post_fix, engine, if_exists='fail')
except Exception as e:
logger.info(e)
# 昨日涨停
if choice == 2:
df = df.set_index(u'序号')
df[u'最大涨幅'] = df[u'最大涨幅'].map(lambda x: round(x * 100, 3))
df[u'最大跌幅'] = df[u'最大跌幅'].map(lambda x: round(x * 100, 3))
df[u'今日开盘涨幅'] = df[u'今日开盘涨幅'].map(lambda x: round(x * 100, 3))
df[u'昨日涨停强度'] = df[u'昨日涨停强度'].map(lambda x: round(x, 0))
df[u'今日涨停强度'] = df[u'今日涨停强度'].map(lambda x: round(x, 0))
try:
df.to_sql(self.today + post_fix, engine, if_exists='fail')
except Exception as e:
logger.info(e)

avg = round(df['今日涨幅'].mean(), 2)
current = datetime.datetime.now().strftime('%Y-%m-%d')
title = '昨天涨停个股今天{}\n的平均涨幅{}\n'.format(current, avg)
try:
sender_139(title, title)
except Exception as e:
print(e)

# 昨日涨停今日的状态,今日涨停

def storedata(self):
zdt_content = self.getdata(self.zdt_url, headers=self.header_zdt)
logger.info('zdt Content' + zdt_content)
zdt_js = self.convert_json(zdt_content)
self.save_to_dataframe(zdt_js, self.zdt_indexx, 1, 'zdt')
time.sleep(0.5)
zrzt_content = self.getdata(self.zrzt_url, headers=self.header_zrzt)
logger.info('zrzt Content' + zdt_content)

zrzt_js = self.convert_json(zrzt_content)
self.save_to_dataframe(zrzt_js, self.zrzt_indexx, 2, 'zrzt')


if __name__ == '__main__':
# today='2018-04-16'
# 填补以前的数据
# x=pd.date_range('20170101','20180312')
# date_list = [datetime.datetime.strftime(i,'%Y%m%d') for i in list(pd.date_range('20170401','20171231'))

if is_holiday():
logger.info('Holiday')
exit()
logger.info("start")
obj = GetZDT()
obj.storedata()

 
原创。
转载请注明出处。
http://30daydo.com/article/295
 [/i][/i][/code] 
欢迎关注公众号:可转债量化分析
 
继续阅读 »
获取A股每天的涨停板数据,起始日期和截止日期都可以自定义。
这个数据可以用来后续的大数据分析,比如统计每天涨停板的数目和大盘指数的相关性,涨停打开次数与当日人气的强弱的关系。
 

Screenshot_from_2018-04-23_20-31-13.png
点击查看大图

python代码(pyhton2版本,另外最下面有python3版本的代码实现):
# -*- coding=utf-8 -*-
import datetime

__author__ = 'Rocky'
'''
http://30daydo.com
Contact: weigesysu@qq.com
'''
# 每天的涨跌停
import urllib2, re, time, xlrd, xlwt, sys, os
import setting
import pandas as pd
import tushare as ts
from setting import LLogger
reload(sys)
sys.setdefaultencoding('gbk')

logger = LLogger('zdt.log')
class GetZDT:
def __init__(self,current):
self.user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/64.0.3282.167 Chrome/64.0.3282.167 Safari/537.36"
# self.today = time.strftime("%Y%m%d")
self.today=current
self.path = os.path.join(os.path.dirname(__file__), 'data')
self.zdt_url = 'http://home.flashdata2.jrj.com.cn/limitStatistic/ztForce/' + self.today + ".js"
self.zrzt_url = 'http://hqdata.jrj.com.cn/zrztjrbx/limitup.js'

self.host = "home.flashdata2.jrj.com.cn"
self.reference = "http://stock.jrj.com.cn/tzzs/z ... ot%3B

self.header_zdt = {"User-Agent": self.user_agent,
"Host": self.host,
"Referer": self.reference}

self.zdt_indexx = [u'代码', u'名称', u'最新价格', u'涨跌幅', u'封成比', u'封流比', u'封单金额', u'最后一次涨停时间', u'第一次涨停时间', u'打开次数',
u'振幅',
u'涨停强度']

self.zrzt_indexx = [u'序号', u'代码', u'名称', u'昨日涨停时间', u'最新价格', u'今日涨幅', u'最大涨幅', u'最大跌幅', u'是否连板', u'连续涨停次数',
u'昨日涨停强度', u'今日涨停强度', u'是否停牌', u'昨天的日期', u'昨日涨停价', u'今日开盘价格', u'今日开盘涨幅']
self.header_zrzt = {"User-Agent": self.user_agent,
"Host": "hqdata.jrj.com.cn",
"Referer": "http://stock.jrj.com.cn/tzzs/zrztjrbx.shtml"
}

def getdata(self, url, headers, retry=5):
req = urllib2.Request(url=url, headers=headers)
for i in range(retry):
try:
resp = urllib2.urlopen(req,timeout=20)
content = resp.read()
md_check = re.findall('summary|lasttradedate',content)
if content and len(md_check)>0:
return content
else:
time.sleep(60)
logger.log('failed to get content, retry: {}'.format(i))
continue
except Exception, e:
logger.log(e)
time.sleep(60)
continue
return None

def convert_json(self, content):
p = re.compile(r'"Data":(.*)};', re.S)
if len(content)<=0:
logger.log('Content\'s length is 0')
exit(0)
result = p.findall(content)
if result:
try:
# print result
t1 = result[0]
t2 = list(eval(t1))
return t2
except Exception,e:
logger.log(e)
return None
else:
return None


def save_to_dataframe(self, data, indexx, choice, post_fix):
engine = setting.get_engine('db_zdt')
if not data:
exit()
data_len = len(data)
if choice == 1:
for i in range(data_len):
data[choice] = data[choice].decode('gbk')

df = pd.DataFrame(data, columns=indexx)

filename = os.path.join(self.path, self.today + "_" + post_fix + ".xls")
if choice == 1:
df[u'今天的日期']=self.today
df.to_excel(filename, encoding='gbk')
try:
df.to_sql(self.today + post_fix, engine, if_exists='fail')
except Exception,e:
logger.log(e)


def storedata(self):
zdt_content = self.getdata(self.zdt_url, headers=self.header_zdt)
logger.log('zdt Content'+zdt_content)
zdt_js = self.convert_json(zdt_content)
self.save_to_dataframe(zdt_js, self.zdt_indexx, 1, 'zdt')
time.sleep(5)

if __name__ == '__main__':
date_list = [datetime.datetime.strftime(i,'%Y%m%d') for i in list(pd.date_range('20170401','20171231'))]
for today in date_list:

if not ts.is_holiday(datetime.datetime.strptime(today,'%Y%m%d').strftime('%Y-%m-%d')):
print today
obj = GetZDT(today)
obj.storedata()
else:
logger.log('Holiday')



 
python3代码:
# -*- coding=utf-8 -*-
__author__ = 'Rocky'
'''
http://30daydo.com
Contact: weigesysu@qq.com
'''
# 每天的涨跌停
import re
import time
import xlrd
import xlwt
import sys
import os
import setting
from setting import is_holiday, DATA_PATH
import pandas as pd
import tushare as ts
from setting import llogger
import requests
from send_mail import sender_139
import datetime
# reload(sys)
# sys.setdefaultencoding('gbk')

logger = llogger(__file__)


class GetZDT:
def __init__(self):
self.user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/64.0.3282.167 Chrome/64.0.3282.167 Safari/537.36"
self.today = time.strftime("%Y%m%d")
self.path = DATA_PATH
self.zdt_url = 'http://home.flashdata2.jrj.com.cn/limitStatistic/ztForce/' + \
self.today + ".js"
self.zrzt_url = 'http://hqdata.jrj.com.cn/zrztjrbx/limitup.js'

self.host = "home.flashdata2.jrj.com.cn"
self.reference = "http://stock.jrj.com.cn/tzzs/z ... ot%3B

self.header_zdt = {"User-Agent": self.user_agent,
"Host": self.host,
"Referer": self.reference}

self.zdt_indexx = [u'代码', u'名称', u'最新价格', u'涨跌幅', u'封成比', u'封流比', u'封单金额', u'最后一次涨停时间', u'第一次涨停时间', u'打开次数',
u'振幅',
u'涨停强度']

self.zrzt_indexx = [u'序号', u'代码', u'名称', u'昨日涨停时间', u'最新价格', u'今日涨幅', u'最大涨幅', u'最大跌幅', u'是否连板', u'连续涨停次数',
u'昨日涨停强度', u'今日涨停强度', u'是否停牌', u'昨天的日期', u'昨日涨停价', u'今日开盘价格', u'今日开盘涨幅']
self.header_zrzt = {"User-Agent": self.user_agent,
"Host": "hqdata.jrj.com.cn",
"Referer": "http://stock.jrj.com.cn/tzzs/zrztjrbx.shtml"
}

def getdata(self, url, headers, retry=5):
for i in range(retry):
try:
resp = requests.get(url=url, headers=headers)
content = resp.text
md_check = re.findall('summary|lasttradedate', content)
if content and len(md_check) > 0:
return content
else:
time.sleep(60)
logger.info('failed to get content, retry: {}'.format(i))
continue
except Exception as e:
logger.info(e)
time.sleep(60)
continue
return None

def convert_json(self, content):
p = re.compile(r'"Data":(.*)};', re.S)
if len(content) <= 0:
logger.info('Content\'s length is 0')
exit(0)
result = p.findall(content)
if result:
try:
# print(result)
t1 = result[0]
t2 = list(eval(t1))
return t2
except Exception as e:
logger.info(e)
return None
else:
return None

# 2016-12-27 to do this
def save_excel(self, date, data):
# data is list type
w = xlwt.Workbook(encoding='gbk')
ws = w.add_sheet(date)
excel_filename = date + ".xls"
# sheet=open_workbook(excel_filenme)
# table=wb.sheets()[0]
xf = 0
ctype = 1
rows = len(data)
point_x = 1
point_y = 0
ws.write(0, 0, u'代码')
ws.write(0, 1, u'名称')
ws.write(0, 2, u'最新价格')
ws.write(0, 3, u'涨跌幅')
ws.write(0, 4, u'封成比')
ws.write(0, 5, u'封流比')
ws.write(0, 6, u'封单金额')
ws.write(0, 7, u'第一次涨停时间')
ws.write(0, 8, u'最后一次涨停时间')
ws.write(0, 9, u'打开次数')
ws.write(0, 10, u'振幅')
ws.write(0, 11, u'涨停强度')
print("Rows:%d" % rows)
for row in data:
rows = len(data)
cols = len(row)
point_y = 0
for col in row:
# print(col)
# table.put_cell(row,col,)
# print(col)
ws.write(point_x, point_y, col)
# print("[%d,%d]" % (point_x, point_y))
point_y = point_y + 1

point_x = point_x + 1

w.save(excel_filename)

def save_to_dataframe(self, data, indexx, choice, post_fix):
engine = setting.get_engine('db_zdt')
if not data:
exit()
data_len = len(data)
if choice == 1:
for i in range(data_len):
data[i][choice] = data[i][choice]

df = pd.DataFrame(data, columns=indexx)

filename = os.path.join(
self.path, self.today + "_" + post_fix + ".xls")

# 今日涨停
if choice == 1:
df['今天的日期'] = self.today
df.to_excel(filename, encoding='gbk')
try:
df.to_sql(self.today + post_fix, engine, if_exists='fail')
except Exception as e:
logger.info(e)
# 昨日涨停
if choice == 2:
df = df.set_index(u'序号')
df[u'最大涨幅'] = df[u'最大涨幅'].map(lambda x: round(x * 100, 3))
df[u'最大跌幅'] = df[u'最大跌幅'].map(lambda x: round(x * 100, 3))
df[u'今日开盘涨幅'] = df[u'今日开盘涨幅'].map(lambda x: round(x * 100, 3))
df[u'昨日涨停强度'] = df[u'昨日涨停强度'].map(lambda x: round(x, 0))
df[u'今日涨停强度'] = df[u'今日涨停强度'].map(lambda x: round(x, 0))
try:
df.to_sql(self.today + post_fix, engine, if_exists='fail')
except Exception as e:
logger.info(e)

avg = round(df['今日涨幅'].mean(), 2)
current = datetime.datetime.now().strftime('%Y-%m-%d')
title = '昨天涨停个股今天{}\n的平均涨幅{}\n'.format(current, avg)
try:
sender_139(title, title)
except Exception as e:
print(e)

# 昨日涨停今日的状态,今日涨停

def storedata(self):
zdt_content = self.getdata(self.zdt_url, headers=self.header_zdt)
logger.info('zdt Content' + zdt_content)
zdt_js = self.convert_json(zdt_content)
self.save_to_dataframe(zdt_js, self.zdt_indexx, 1, 'zdt')
time.sleep(0.5)
zrzt_content = self.getdata(self.zrzt_url, headers=self.header_zrzt)
logger.info('zrzt Content' + zdt_content)

zrzt_js = self.convert_json(zrzt_content)
self.save_to_dataframe(zrzt_js, self.zrzt_indexx, 2, 'zrzt')


if __name__ == '__main__':
# today='2018-04-16'
# 填补以前的数据
# x=pd.date_range('20170101','20180312')
# date_list = [datetime.datetime.strftime(i,'%Y%m%d') for i in list(pd.date_range('20170401','20171231'))

if is_holiday():
logger.info('Holiday')
exit()
logger.info("start")
obj = GetZDT()
obj.storedata()

 
原创。
转载请注明出处。
http://30daydo.com/article/295
 [/i][/i][/code] 
欢迎关注公众号:可转债量化分析
  收起阅读 »

jupyter notebook 数据分析的利器

python做数据分析,jupyter notebook比其他的IDE要好用的多,每次打开都可以直接看到上次运行的结果。
而且很重要的一点,jupyter使用web 服务器的方式运行,可以在树莓派上开一个jupyter服务,然后配置一下,就可以在其他的电脑上通过浏览器运行jupyter。 其他电脑不必要安装任何python和配置虚拟环境。
继续阅读 »
python做数据分析,jupyter notebook比其他的IDE要好用的多,每次打开都可以直接看到上次运行的结果。
而且很重要的一点,jupyter使用web 服务器的方式运行,可以在树莓派上开一个jupyter服务,然后配置一下,就可以在其他的电脑上通过浏览器运行jupyter。 其他电脑不必要安装任何python和配置虚拟环境。 收起阅读 »

Coinegg需要VPN才能访问

坑爹的。

Screenshot_from_2018-04-22_00-09-30.png

 
好久没上去看,成交了太稀疏了。 
坑爹的。

Screenshot_from_2018-04-22_00-09-30.png

 
好久没上去看,成交了太稀疏了。 

俗语“十赌九输” 是真的吗 ? 赌场第一定律,庄家永远不会告诉你

 
在赌场上,常常听到一句劝人原理赌场的话:“十赌九输”,那么这句话是真的吗?

如果有庄家佣金抽成,那么很多人都知道,最后的赢家就是庄家,因为每玩一局,就会产生摩擦资金,比如2个人玩在骰子的大小,输赢50%的概率,假如每局都要交1%押注资金给庄家,那么两个人即使是你的钱进我口袋,我的钱进你口袋,但是两个人的资金总和是在不断减少。 这种是赌场最常见的情形,大部分人有数学能力的人也都能认清,所以大部分清醒的人不太会参与这样的赌场。

假如赌场没有佣金抽成,而且输赢的概率都是50%呢? 这样是不是最后会一直可以玩下去呢? 答案是否定的。

 

数学理解:
赢多了一定有输回来的概率。
但输光了,却没有再赢回来的资本。
 
咱们仅讨论概率,假设赌博绝对公平,每场五成概率+1,五成概率-1。

下面用代码模拟这个赌博的过程。 
 
假设初始赌资为100,每次下注为1,赢了100+1, 输了100-1, 一直循环下去,直到赌资等于0,输精光出局,赢得话就一直玩下去,每次下注金额固定为1。 
 
为了更加清晰的对比初始赌资和赌博次数的关系,我们把赌资从1开始到100,最后的赌博次数情况。
如果你的赌资是1,每局下注1,那么这种情况很可能你玩1局就挂掉了,如果赌资是100,根据平均大数定律,就可以无限地玩下去,因为连续出100个小的概率非常低,是这样吗?

Screenshot_from_2018-04-16_22-39-48.png
 

为了得到更为普遍的结果,每一个赌资运行5次,得到的结果取平均值,这样可以有效取出奇异值,如果想要结果更为精确,可以每一个赌资运行10次甚至100次,不过这个过程也稍微更加耗时。
 
 
最后得到的数据如下,最终程序是可以收敛,结束了,就是赌资从1到100,每次下注1 ,  50%的输赢概率,最终都输精光离场,不同的只是你呆在场上的时间。 最长的可以玩3千多万局,最低的玩6局离场,也就是1元赌资标号的那位。  
[6.2, 20.4, 18.6, 20.0, 1366.2, 117.2, 609.4, 237.2, 407.0, 798.8, 1324.6, 46327.6, 81275.4, 1604854.8, 11903.0, 24018.8, 783.8, 27538.8, 867.4, 2291.2, 3753.0, 10562.0, 6540.6, 3519988.4, 15201.8, 405.2, 135648.2, 101014.8, 15703.4, 5506.0, 5369.0, 7870.0, 3815.0, 8325712.4, 23636.6, 1556.8, 95365.8, 1262.4, 625404.2, 6300430.8, 126025.0, 31276.0, 28717.4, 23184.0, 29007.4, 20586.0, 4581.0, 10091574.4, 111960.6, 3848.0, 1643635.4, 135605.6, 80114.2, 12795.2, 14133.4, 724014.4, 5365.4, 12682.8, 7472.2, 10351.6, 35163.8, 542070.8, 22053.0, 6292.4, 83359.4, 15030.8, 45987.8, 114825.2, 3121.4, 609555.6, 1307542.6, 8402.4, 62410.2, 231369.6, 285103.8, 660060.4, 719555.8, 69072.0, 41764.6, 181634.8, 40792.2, 57721.2, 59925.8, 134405.6, 41730.6, 62014.0, 1200179.8, 32587184.0, 5717.4, 13583.2, 24479.4, 339389.2, 12449571.4, 29882201.2, 2729118.6, 942646.8, 37097.8, 4795026.0, 359242.2]

为了更为直观,绘制成图形。

Screenshot_from_2018-04-17_00-27-28.png


 点击查看原图
横坐标为赌资的大小,纵坐标为赌博的次数。
因为纵坐标的某些次数极大,所以在图形中变成了凸起来的尖峰,不过普遍都是在5百万次以下。
这也间接说明,资金仓位管理的重要性,赌博总归是要归零的,如果你赌资足够大,或者每次下注小一些,每次小赌一下,那么你还是可以玩很久的,当然这是在公平50%的输赢概率上,但是如果输赢概率低于50%,那么,其收敛速度会急速下降,也就是加速你的离场速度。其他条件不变,上面的例子下进行赌博,那么100的赌资,平均下来大概也就能玩500局。
 
珍爱生命,远离赌博!!

原文链接:http://30daydo.com/article/292 
转载请注明出处
 
继续阅读 »
 
在赌场上,常常听到一句劝人原理赌场的话:“十赌九输”,那么这句话是真的吗?

如果有庄家佣金抽成,那么很多人都知道,最后的赢家就是庄家,因为每玩一局,就会产生摩擦资金,比如2个人玩在骰子的大小,输赢50%的概率,假如每局都要交1%押注资金给庄家,那么两个人即使是你的钱进我口袋,我的钱进你口袋,但是两个人的资金总和是在不断减少。 这种是赌场最常见的情形,大部分人有数学能力的人也都能认清,所以大部分清醒的人不太会参与这样的赌场。

假如赌场没有佣金抽成,而且输赢的概率都是50%呢? 这样是不是最后会一直可以玩下去呢? 答案是否定的。

 

数学理解:
赢多了一定有输回来的概率。
但输光了,却没有再赢回来的资本。
 
咱们仅讨论概率,假设赌博绝对公平,每场五成概率+1,五成概率-1。

下面用代码模拟这个赌博的过程。 
 
假设初始赌资为100,每次下注为1,赢了100+1, 输了100-1, 一直循环下去,直到赌资等于0,输精光出局,赢得话就一直玩下去,每次下注金额固定为1。 
 
为了更加清晰的对比初始赌资和赌博次数的关系,我们把赌资从1开始到100,最后的赌博次数情况。
如果你的赌资是1,每局下注1,那么这种情况很可能你玩1局就挂掉了,如果赌资是100,根据平均大数定律,就可以无限地玩下去,因为连续出100个小的概率非常低,是这样吗?

Screenshot_from_2018-04-16_22-39-48.png
 

为了得到更为普遍的结果,每一个赌资运行5次,得到的结果取平均值,这样可以有效取出奇异值,如果想要结果更为精确,可以每一个赌资运行10次甚至100次,不过这个过程也稍微更加耗时。
 
 
最后得到的数据如下,最终程序是可以收敛,结束了,就是赌资从1到100,每次下注1 ,  50%的输赢概率,最终都输精光离场,不同的只是你呆在场上的时间。 最长的可以玩3千多万局,最低的玩6局离场,也就是1元赌资标号的那位。  
[6.2, 20.4, 18.6, 20.0, 1366.2, 117.2, 609.4, 237.2, 407.0, 798.8, 1324.6, 46327.6, 81275.4, 1604854.8, 11903.0, 24018.8, 783.8, 27538.8, 867.4, 2291.2, 3753.0, 10562.0, 6540.6, 3519988.4, 15201.8, 405.2, 135648.2, 101014.8, 15703.4, 5506.0, 5369.0, 7870.0, 3815.0, 8325712.4, 23636.6, 1556.8, 95365.8, 1262.4, 625404.2, 6300430.8, 126025.0, 31276.0, 28717.4, 23184.0, 29007.4, 20586.0, 4581.0, 10091574.4, 111960.6, 3848.0, 1643635.4, 135605.6, 80114.2, 12795.2, 14133.4, 724014.4, 5365.4, 12682.8, 7472.2, 10351.6, 35163.8, 542070.8, 22053.0, 6292.4, 83359.4, 15030.8, 45987.8, 114825.2, 3121.4, 609555.6, 1307542.6, 8402.4, 62410.2, 231369.6, 285103.8, 660060.4, 719555.8, 69072.0, 41764.6, 181634.8, 40792.2, 57721.2, 59925.8, 134405.6, 41730.6, 62014.0, 1200179.8, 32587184.0, 5717.4, 13583.2, 24479.4, 339389.2, 12449571.4, 29882201.2, 2729118.6, 942646.8, 37097.8, 4795026.0, 359242.2]

为了更为直观,绘制成图形。

Screenshot_from_2018-04-17_00-27-28.png


 点击查看原图
横坐标为赌资的大小,纵坐标为赌博的次数。
因为纵坐标的某些次数极大,所以在图形中变成了凸起来的尖峰,不过普遍都是在5百万次以下。
这也间接说明,资金仓位管理的重要性,赌博总归是要归零的,如果你赌资足够大,或者每次下注小一些,每次小赌一下,那么你还是可以玩很久的,当然这是在公平50%的输赢概率上,但是如果输赢概率低于50%,那么,其收敛速度会急速下降,也就是加速你的离场速度。其他条件不变,上面的例子下进行赌博,那么100的赌资,平均下来大概也就能玩500局。
 
珍爱生命,远离赌博!!

原文链接:http://30daydo.com/article/292 
转载请注明出处
  收起阅读 »

python取出两个两个同样表结构的MySQL数据库中不同的行

因为平时有本地数据库和远程数据库,本地的时候是离线的时候看的。 有时候因为修改代码的缘故,导致远程数据和本地数据有不一样的地方,那么可以使用python+pandas很简单的筛选出不同的行。
 
df_new[~(df_new['URL'].isin(df_old['URL'].values))]
 
其中df_old 为本地的数据库读取的dataframe数据,而df_new 为远程的数据,通过判断唯一的key URL的值来筛选出不同的数据行
继续阅读 »
因为平时有本地数据库和远程数据库,本地的时候是离线的时候看的。 有时候因为修改代码的缘故,导致远程数据和本地数据有不一样的地方,那么可以使用python+pandas很简单的筛选出不同的行。
 
df_new[~(df_new['URL'].isin(df_old['URL'].values))]
 
其中df_old 为本地的数据库读取的dataframe数据,而df_new 为远程的数据,通过判断唯一的key URL的值来筛选出不同的数据行 收起阅读 »

原来这样的历史日线数据也可以拿来卖的呀


Screenshot_from_2018-04-08_22-47-21_thunbnail.png

  
原来这样的数据都可以拿去卖的。 确切的体验到知识就是金钱哈。

Screenshot_from_2018-04-08_22-47-21_thunbnail.png

  
原来这样的数据都可以拿去卖的。 确切的体验到知识就是金钱哈。

ubuntu安装ta-lib后出错

>>> import talib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "talib/__init__.py", line 43, in <module>
    from ._ta_lib import (
ImportError: No module named _ta_lib
 
安装教程按照:https://blog.csdn.net/fortiy/article/details/76531700
安装完成后在终端运行python,
然后在python的终端下尝试导入talib
import talib
 
于是就出现上面的错误信息。
 
 
后来在pycharm IDE中却可以正常运行。 后来重新打开一个终端,重新运行python然后import talib,然后能够正常导入。
原来上面的操作都在同一个终端terminal中执行,安装完talib,一些环境变量没有及时生效,需要在新的终端下才会生效。
继续阅读 »
>>> import talib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "talib/__init__.py", line 43, in <module>
    from ._ta_lib import (
ImportError: No module named _ta_lib
 
安装教程按照:https://blog.csdn.net/fortiy/article/details/76531700
安装完成后在终端运行python,
然后在python的终端下尝试导入talib
import talib
 
于是就出现上面的错误信息。
 
 
后来在pycharm IDE中却可以正常运行。 后来重新打开一个终端,重新运行python然后import talib,然后能够正常导入。
原来上面的操作都在同一个终端terminal中执行,安装完talib,一些环境变量没有及时生效,需要在新的终端下才会生效。 收起阅读 »

pandas中resample的how参数“ohlc”

这个ohlc对应的是股市中的open,high,low,close这几个价格。专门用于股票市场的分析。
比如我获取得到了一个股票从14年到现在的开盘,收盘,最高,最低等价格,然后我想对数据中的收盘价重新采样,转换成月数据。可以使用resample函数,参数中的how配合 ohlc。
 
获取原始数据:

Screenshot_from_2018-03-25_23-28-30.png

 
提取收盘价

Screenshot_from_2018-03-25_23-34-21.png

 
 
重新采样:

Screenshot_from_2018-03-25_23-34-55.png

 
重新采样后获得的新数据:

Screenshot_from_2018-03-25_23-35-25.png

 
可以看到现在的index是每个月的结束,而多了几列,close,open,high,low,这4列就是根据每个月的close价格而提取出来的,比如统计一月份的时候,一月份的收盘价会有一个最低和最高,最开始open1月1号和结束close的1月31号的价格。
 
 
原创文章
转载请注明出处:http://30daydo.com/article/288
 
继续阅读 »
这个ohlc对应的是股市中的open,high,low,close这几个价格。专门用于股票市场的分析。
比如我获取得到了一个股票从14年到现在的开盘,收盘,最高,最低等价格,然后我想对数据中的收盘价重新采样,转换成月数据。可以使用resample函数,参数中的how配合 ohlc。
 
获取原始数据:

Screenshot_from_2018-03-25_23-28-30.png

 
提取收盘价

Screenshot_from_2018-03-25_23-34-21.png

 
 
重新采样:

Screenshot_from_2018-03-25_23-34-55.png

 
重新采样后获得的新数据:

Screenshot_from_2018-03-25_23-35-25.png

 
可以看到现在的index是每个月的结束,而多了几列,close,open,high,low,这4列就是根据每个月的close价格而提取出来的,比如统计一月份的时候,一月份的收盘价会有一个最低和最高,最开始open1月1号和结束close的1月31号的价格。
 
 
原创文章
转载请注明出处:http://30daydo.com/article/288
  收起阅读 »

可转债套利【一】 python找出折价可转债个股

关于可转债的定义,可以到https://xueqiu.com/6832369826/103042836 这里科普一下。
 
下面的内容默认你对可转债已经有一定的了解。
 
可转债的价值=正股价格/转股价格 + 利息,忽略可转债的利息,直接用公式 可转债的价值=正股价格/转股价格 计算可转债的价值。
 
如果当前可转债的交易价格(在交易软件上显示的价格)如:
wxzz.GIF

所以万信转债的价格是121.5元,然后万信转债的价值呢? 按照上面的公式,万信转债的正股是万达信息,今天万达信息  (2018-03-16)的股价是

万达信息.GIF

以收盘价为例,17.25。
 
而万信转债的股转价格呢? 这个可以到万信转债F10页面的公告中找到,为13.11元。 所以万信转债的价值是
17.25/13.11 = 1.315 , 可转债单位是100, 所以万信转债的内在价值是1.315*100=131.5, 而当前的交易价格为 121.5

wxzz.GIF

 
 
也就是你用121.5元买到一个价值 131.5的商品, 所以相当于打折买到了一个超值的商品,所以当前的万信转债是折价状态。
 
所以本次任务就是要找出可交易的可转债中折价状态的可转债。
 
然后直接上干货。上python代码。
#-*-coding=utf-8
'''
可转债监控
'''
import tushare as ts
from setting import get_engine
engine = get_engine('db_bond')
import pandas as pd
import datetime
class ConvertBond():

def __init__(self):
self.conn=ts.get_apis()
self.allBonds=ts.new_cbonds(pause=2)
self.onSellBond=self.allBonds.dropna(subset=['marketprice'])
self.today=datetime.datetime.now().strftime('%Y-%m-%d %H:%M')

def stockPrice(self,code):
stock_df = ts.get_realtime_quotes(code)
price = float(stock_df['price'].values[0])
return price

def dataframe(self):
price_list=
for code in self.onSellBond['scode']:
price_list.append(self.stockPrice(code))
self.onSellBond['stock_price']=price_list
self.onSellBond['ratio'] = (
self.onSellBond['marketprice']
/(self.onSellBond['stock_price'] / self.onSellBond['convprice'])-1)*100
self.onSellBond['Updated']=self.today
self.onSellBond.to_sql('tb_bond',engine,if_exists='replace')

def closed(self):
ts.close_apis(self.conn)

def main():
bond=ConvertBond()
bond.dataframe()
bond.closed()
if __name__=='__main__':
main()








 上面的setting库,把下面的*** 替换成你自己的Mysql用户和密码即可。
import os
import MySQLdb
MYSQL_USER = *********
MYSQL_PASSWORD = ********
MYSQL_HOST = *********
MYSQL_PORT = *****

def get_engine(db):
engine = create_engine('mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(MYSQL_USER, MYSQL_PASSWORD, MYSQL_HOST, MYSQL_PORT, db))
return engine
 
上面的少于100行的代码就能够满足你的要求。
运行后会把结果保存在MySQL 数据库。如下图所示:


Screenshot_from_2018-03-28_09-14-35.png


点击放大
  2018-03-16 可转债表格
 
其中折价率是ratio列。按照ratio列进行排列,只有2个是正,也就是当前市场是只有2只可转债是处于折价状态的,其余的都是溢价状态(价格比内在价值要贵,忽略利息的前提下,如果把4~5%的利息也算进去的话,-3~4%的折价率其实也算小折价吧)
 
目前万信转债折价10个点,宝信转债折价5.8个点。 所以适合低风险投资者建仓。 因为可转债有兜底价格,所以出现亏损的概率很低(除非遇到黑天鹅,公司破产了,像遇到乐视这种PPT独角兽公司,欠债不还的。 但是A股上能够有资格发行可转债的,本身对公司的盈利,分红都有硬性要求)。
 
所以可以保存上面的代码,可以每天运行一次,可以很方便地找出折价的个股,当然也可以在盘中一直监测,因为可转债的价格是实时变化的,一旦遇到大跌,跌到折价状态,你也可以择时入手标的。

原文链接:
http://30daydo.com/article/286
转载请注明出处
 
可转债低费率,沪市百万分之二,深圳十万分之四,免五 开户
加微信开通

 
继续阅读 »
关于可转债的定义,可以到https://xueqiu.com/6832369826/103042836 这里科普一下。
 
下面的内容默认你对可转债已经有一定的了解。
 
可转债的价值=正股价格/转股价格 + 利息,忽略可转债的利息,直接用公式 可转债的价值=正股价格/转股价格 计算可转债的价值。
 
如果当前可转债的交易价格(在交易软件上显示的价格)如:
wxzz.GIF

所以万信转债的价格是121.5元,然后万信转债的价值呢? 按照上面的公式,万信转债的正股是万达信息,今天万达信息  (2018-03-16)的股价是

万达信息.GIF

以收盘价为例,17.25。
 
而万信转债的股转价格呢? 这个可以到万信转债F10页面的公告中找到,为13.11元。 所以万信转债的价值是
17.25/13.11 = 1.315 , 可转债单位是100, 所以万信转债的内在价值是1.315*100=131.5, 而当前的交易价格为 121.5

wxzz.GIF

 
 
也就是你用121.5元买到一个价值 131.5的商品, 所以相当于打折买到了一个超值的商品,所以当前的万信转债是折价状态。
 
所以本次任务就是要找出可交易的可转债中折价状态的可转债。
 
然后直接上干货。上python代码。
#-*-coding=utf-8
'''
可转债监控
'''
import tushare as ts
from setting import get_engine
engine = get_engine('db_bond')
import pandas as pd
import datetime
class ConvertBond():

def __init__(self):
self.conn=ts.get_apis()
self.allBonds=ts.new_cbonds(pause=2)
self.onSellBond=self.allBonds.dropna(subset=['marketprice'])
self.today=datetime.datetime.now().strftime('%Y-%m-%d %H:%M')

def stockPrice(self,code):
stock_df = ts.get_realtime_quotes(code)
price = float(stock_df['price'].values[0])
return price

def dataframe(self):
price_list=
for code in self.onSellBond['scode']:
price_list.append(self.stockPrice(code))
self.onSellBond['stock_price']=price_list
self.onSellBond['ratio'] = (
self.onSellBond['marketprice']
/(self.onSellBond['stock_price'] / self.onSellBond['convprice'])-1)*100
self.onSellBond['Updated']=self.today
self.onSellBond.to_sql('tb_bond',engine,if_exists='replace')

def closed(self):
ts.close_apis(self.conn)

def main():
bond=ConvertBond()
bond.dataframe()
bond.closed()
if __name__=='__main__':
main()








 上面的setting库,把下面的*** 替换成你自己的Mysql用户和密码即可。
import os
import MySQLdb
MYSQL_USER = *********
MYSQL_PASSWORD = ********
MYSQL_HOST = *********
MYSQL_PORT = *****

def get_engine(db):
engine = create_engine('mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(MYSQL_USER, MYSQL_PASSWORD, MYSQL_HOST, MYSQL_PORT, db))
return engine
 
上面的少于100行的代码就能够满足你的要求。
运行后会把结果保存在MySQL 数据库。如下图所示:


Screenshot_from_2018-03-28_09-14-35.png


点击放大
  2018-03-16 可转债表格
 
其中折价率是ratio列。按照ratio列进行排列,只有2个是正,也就是当前市场是只有2只可转债是处于折价状态的,其余的都是溢价状态(价格比内在价值要贵,忽略利息的前提下,如果把4~5%的利息也算进去的话,-3~4%的折价率其实也算小折价吧)
 
目前万信转债折价10个点,宝信转债折价5.8个点。 所以适合低风险投资者建仓。 因为可转债有兜底价格,所以出现亏损的概率很低(除非遇到黑天鹅,公司破产了,像遇到乐视这种PPT独角兽公司,欠债不还的。 但是A股上能够有资格发行可转债的,本身对公司的盈利,分红都有硬性要求)。
 
所以可以保存上面的代码,可以每天运行一次,可以很方便地找出折价的个股,当然也可以在盘中一直监测,因为可转债的价格是实时变化的,一旦遇到大跌,跌到折价状态,你也可以择时入手标的。

原文链接:
http://30daydo.com/article/286
转载请注明出处
 
可转债低费率,沪市百万分之二,深圳十万分之四,免五 开户
加微信开通

  收起阅读 »

tushare 调用ts.get_apis() 后一直在运行无法退出

旧版本中运行ts.get_apis()后会一直在后台监听,但是在1.0.5的后续版本中,你可以手工中断这个后台监听,从而让你的程序可以正常退出。
 
conn=ts.get_apis()
......
 
在你的程序退出前,运行
ts.close_apis(conn)
 
这样你的程序就能够正常退出。
继续阅读 »
旧版本中运行ts.get_apis()后会一直在后台监听,但是在1.0.5的后续版本中,你可以手工中断这个后台监听,从而让你的程序可以正常退出。
 
conn=ts.get_apis()
......
 
在你的程序退出前,运行
ts.close_apis(conn)
 
这样你的程序就能够正常退出。 收起阅读 »

urlparse中defrag函数的用法


urlparse.urldefrag(url)¶

If url contains a fragment identifier, returns a modified version of url with no fragment identifier, and the fragment identifier as a separate string. If there is no fragment identifier in url, returns url unmodified and an empty string.


官网的解释如上,作用就是把url中的fragment标识符去掉。What ?
fragment标识符是url中#号的部分。
比如  http://www.example.com/index.html#print
 
#代表网页中的一个位置。其右面的字符,就是该位置的标识符。
 
就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。

为网页位置指定标识符,有两个方法。一是使用锚点,比如<a name="print"></a>,二是使用id属性,比如<div id="print" >。
 
 
所以:
url='http://www.example.com/index.html#print'
url=urlparse.defrag(url)
那么返回的url是http://www.example.com/index.html,因为这两个页面实际是同一个url,在爬虫程序中可以用来过滤同一个页面
继续阅读 »


urlparse.urldefrag(url)¶

If url contains a fragment identifier, returns a modified version of url with no fragment identifier, and the fragment identifier as a separate string. If there is no fragment identifier in url, returns url unmodified and an empty string.


官网的解释如上,作用就是把url中的fragment标识符去掉。What ?
fragment标识符是url中#号的部分。
比如  http://www.example.com/index.html#print
 
#代表网页中的一个位置。其右面的字符,就是该位置的标识符。
 
就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。

为网页位置指定标识符,有两个方法。一是使用锚点,比如<a name="print"></a>,二是使用id属性,比如<div id="print" >。
 
 
所以:
url='http://www.example.com/index.html#print'
url=urlparse.defrag(url)
那么返回的url是http://www.example.com/index.html,因为这两个页面实际是同一个url,在爬虫程序中可以用来过滤同一个页面 收起阅读 »

智能停车概念A股相关公司以及分析

停车需求端:
一位难求、停车体验差 一位难求。据广州市消委会 2015 年 7 月发布的《广州市民停车消费现状调查报告》,超过六成半的车主休 闲出行时会担心目的地没有停车位,而超过四成半的车主找不到停车位。从找停车位所花费的时间来看,平均 长达 18 分钟。据调查显示,近 60%的受访者会由于难找到停车位,而放弃参加某一个社交活动。停车难问题之 严重,略见一斑。这一方面由于停车位供需缺口大,另一方面是因为停车场空车位信息的缺乏,搜寻匹配成本 高。

停车体验差:
停车体验差,普遍纯在四大突出问题:出入慢、场内找车位难、找车难、缴费排队。1)出入 慢:出入场停车取卡、还卡,费时费力;2)场内找车位难:缺乏场内导航,入场后找不到车位;3)找车难: 停车场空间大,环境及标志物类似,方向不易辨别,离场时往往找不到车;4)缴费排队:人工缴费,现金找零, 程序繁琐。

伴随 O2O 资本寒冬,2016 年或将成为 O2O 行业大规模去产能之年;而逆向思考,这也或将加速细分行业 更快结束混战、去伪存真,新的龙头公司更快崛起之年。其中,“互联网停车”由于其刚性需求、B 端属性、重 资产重运营属性等,或将迎来快速发展之年。 随着互联网的发展,面向 C 端的社交网络和面向商品的电子商务已日渐成熟,尤其是进入移动互联网时代, 通过智能终端,C 端以实现普遍联网,移动支付等基础环境日渐完备,互联网下沉实体产业的条件已经成熟。 2015 年 3 月,在十二届全国人大三次会议上,李克强总理在政府工作报告中首次提出“互联网+”行动计划; 2015 年 7 月,国务院印发了《关于积极推进“互联网+”行动的指导意见》,推动互联网由消费领域向生产领域 拓展。 在政策的助推下,“互联网+”可谓如火如荼,各行各业纷纷触网。停车难带来的“出行之痛”是城市的痼 疾,通过互联网把分散的停车场联接起来,破除信息孤岛,实现有限停车资源的优化配置是解决之道。“互联网 +停车”市场刚开始引燃,共享经济助推、资本涌入、政策利好三大驱动,助力互联网停车启航,各种停车 APP 涌现,据不完全统计目前全国停车 APP 远超 100 个。 目前停车 APP 企业主要集中在“北上深广”,同时逐渐辐射全国,亿邦动力网筛选了 100 家互联网停车公 司发现,“北上深广”停车 APP 企业占到总数的半数以上,突显了一线城市的停车问题,在全国范围内,华东、 西南、华北等区域,长三角、厦门、成都等二线城市停车创业公司也较为活跃。

三大驱动,助力互联网停车启航

1.2.1 共享经济助推
 Airbnb、Uber 的成功引爆了共享经济。Airbnb 在 2015 年三季度的营收为 3.4 亿美元,订单总额为 22 亿 美元,Uber 的拼车订单总额从 2013 年的 6.88 亿美元增长至今年预计的 108.4 亿美元,二者估值分别达到 255 亿美元和 500 亿美元,短短几年时间超过全球任何一家酒店公司或出租车公司的市值。两家公司迅速崛起 重塑了出租车和酒店行业,这是共享经济带来的革命性变革。 共享经济的本质是对资源的闲置使用权的重新配置,传统的商业模式下连接成本高,很难把碎片化的使用 权的供需双方对接起来,互联网共享平台的诞生使得供需双方“一键匹配”,极大降低了连接成本,也使得共享 经济大放异彩。 共享经济模式引入中国,共享交通先行,通过共享经济盘活交通资源,缓解出行难。过去两年,打车软件 混战以“滴滴”、“快的”合并终结,共享用车已巨头的领地。然而,共享停车市场刚开始起步。 1.2.2 资本涌入 2014 年底以来,在“互联网+”的热潮下,互联网停车倍受到了资本市场的青睐,成为风投追逐的热点。 几乎所有互联网停车融资项目都还处于天使轮和 A 轮阶段,可见总体处于互联网化过程的早期阶段。 2015 年 6 月 12 日,无忧停车获得来自信中利和银江股份等数千万人民币的 A 轮融资;9 月 22 日,“停简 单”对外宣布获得 2000 万美元 A 轮融资,由千方集团旗下投资主体领投,天使轮投资人峰瑞资本跟进;2015 年 6 月 8 日,ETCP 停车获得海纳亚洲、源码资本、经纬创投 5000 万美元的联合 A 轮投资,是迄今为止停车类 创业公司最大规模的融资。

上市智能停车设备商也争相发力,强势挺近互联网停车市场。
2015 年 7 月 20 日,安居宝披露非公开发行 预案,拟募集不超过 19 亿元用于“城市云停车联网系统项目”建设和推广;2015 年 10 月日,捷顺科技披露非 公开发行预案拟募集不超过 10 亿元,其中 9.4 亿元投入“智慧停车及智慧社区运营服务平台项目”。


park.GIF


互联网停车现状:四类玩家、五种模式,群雄混战
3.1 四类玩家 互联网停车主要有四类玩家:1)创业型公司;2)智能停车设备商; 3)市政交管部门;4)BAT。目前主 要以创业公司和智能停车设备商为主,BAT 只是轻度参与。

3.1.1 创业型公司 互联网停车风起,大量创业型公司涌入,如停车百事通、ETCP、丁丁停车、e 代泊等,创业型公司资源是 短板,只要一轻资产模式切入。

3.1.2 智能停车设备商 智能停车设备商乘“互联网+”的东风,从单纯的智能停车软硬件提供商向 “智能停车设备+云平台+APP” 全套解决方案提供商转型升级,具备软硬件技术优势,同时沉淀下来的停车场客户构成资源优势。如无忧停车、 捷顺科技(捷停车)、安居宝、立方控股(行呗)等。

3.1.3 市政交管部门 市政交管部门掌握路侧停车位及路外公共停车场(以北京为例市政掌握 16.65%的停车位),具有资源优势, 同时财政雄厚,整合能力强,如深圳市道路交通管理事务中心(宜停车)、上海市交通委(上海停车)。

3.1.4BAT:轻度参与 与“互联网+打车”被“阿里+腾讯”独霸不同,BAT 在“互联网+停车”还是轻度参与。腾讯以微信公众 号+微信支付”、百度以“百度地图+百度钱包”、阿里以“支付宝+高德地图+立方控股”切入互联网停车,主要 是以地图、支付应用和流量入口应用对停车 APP 进行整合、嵌入。



相关个股:

立方控股(833030.OC) 出入口控制与管理系统综合解决方案提供商,智能停车管理系统是公司核心业务,拥有 15 年的行业应用经 历,专利与技术积累深厚,是停车场十大品牌之一,通过推进互联网停车,逐渐由从智能停车设备商向服务商 转型。阿里旗下湖畔山南基金投资立方控股,成第二大股东,将获得阿里的资源、流量导入。立方控股以大型 商业地产、停车管理公司为突破口,与华润集团、恒大集团等知名大型商业地产集团达成战略合作,快速抢占 商业大厦、购物广场等优质停车场资源。


捷顺科技(002609.SZ) 出入口控制及智能安防行业的龙头企业,智能停车管理系统第一大品牌,依托强大的资源优势,以停车场 及社区联网为切入点,捷顺科技推进基于“智能终端+互联网”的智慧停车、智慧社区建设。捷顺科技打通产业 链关键环节,构建了强大的闭环产品体系:两种模式来推进联网,新系统标配自动联网和旧系统硬件软件升级 改造;合作第三方支付、城市通卡,拓展支付手段;参股雅丰信息,强化场内导航能力。公司深耕行业,优势 显著:智慧停车行业的开创者、龙头,智能视频识别技术、RFID 识别技术、室内定位等诸多技术居领先水平; 智能类终端广泛应用于住宅小区、商业大厦、写字楼、机场、酒店等场所,在一二线城市的已经积累十多万的 客户,万科、中海等全国性布局的地产或物业龙头公司均是公司的战略合作客户,停车场资源丰富;营销网络 遍布全国,地推能力强,23 家直属分公司、120 多家经销商基本覆盖全国,拥有 3000 多家集成商合作伙伴,超 过 2000 人的营销服务团队,具有强大的地推能力和客户服务能力;资金优势强,拟非公开发行募集不超过 10 亿元,其中 9.4 亿元拟投入“智慧停车及智慧社区运营服务平台”项目。 我们预测捷顺科技 2016、2017 年的 EPS 分别为 0.29、0.41 元,对应 PE 分别为 51、36 倍。

安居宝(300155.SZ) 社区安防领域龙头,以楼宇对讲系统起家,后拓展至智能停车场系统,依托智能停车技术积累,向云停车 转型升级。公司已基本完成智能停车全套技术积累,拥有停车场相关知识产权 32 项;车牌自动识别系统(识别 率 99%)、车位引导系统等行业领先,研发“编码盒”作为车牌自动识别系统的补充,可真正实现无人值守;拟 行业深度研究报告 HTTP://RESEARCH.CSC.COM.CN [table_page] 通信 请参阅最后一页的重要声明 非公开发行募集 19 亿元(已于近期过会),强势进军“云停车”,计划拟以免费提供软硬件系统的方式在全国 100 个城市快速整合 5 万个停车场。我们预测安居宝 2016、2017 年的 EPS 分别为 0.11、0.15 元,对应 PE 分别 为 148、109 倍。

千方科技(002373.SZ) 中国智能交通行业领军企业,经过十余载的积淀,千方科技业务已从城市交通、公路交通拓展到轨道交通、 民航等领域,形成从软硬件产品到服务到解决方案的全产业链布局,具备 2G、2B、2C 的服务能力,已成为国 内首屈一指的综合交通信息化企业。千方科技积极拥抱“大数据”和“互联网+”的大潮下,定位从智能交通向 智慧交通转变、从产品提供商向运营服务商转变。2015 年公司成立了控股子公司上海千方智能,专注于提供智 慧停车信息服务及运营平台,智慧停车成为公司新的业务突破口。千方科技利用物联网和云计算技术,对停车 资源实行动态的远程智能管理,打造包括停车导航、安全监管、停车运营、车位预定、错时停车、在线支付等 功能的智慧停车云服务运营体系。我们预测千方科技 2016、2017 年的 EPS 分别为 0.75、1 元,对应 PE 分别为 45、34 倍。

原文链接:http://30daydo.com/article/283
欢迎转载,请注明出处。
继续阅读 »
停车需求端:
一位难求、停车体验差 一位难求。据广州市消委会 2015 年 7 月发布的《广州市民停车消费现状调查报告》,超过六成半的车主休 闲出行时会担心目的地没有停车位,而超过四成半的车主找不到停车位。从找停车位所花费的时间来看,平均 长达 18 分钟。据调查显示,近 60%的受访者会由于难找到停车位,而放弃参加某一个社交活动。停车难问题之 严重,略见一斑。这一方面由于停车位供需缺口大,另一方面是因为停车场空车位信息的缺乏,搜寻匹配成本 高。

停车体验差:
停车体验差,普遍纯在四大突出问题:出入慢、场内找车位难、找车难、缴费排队。1)出入 慢:出入场停车取卡、还卡,费时费力;2)场内找车位难:缺乏场内导航,入场后找不到车位;3)找车难: 停车场空间大,环境及标志物类似,方向不易辨别,离场时往往找不到车;4)缴费排队:人工缴费,现金找零, 程序繁琐。

伴随 O2O 资本寒冬,2016 年或将成为 O2O 行业大规模去产能之年;而逆向思考,这也或将加速细分行业 更快结束混战、去伪存真,新的龙头公司更快崛起之年。其中,“互联网停车”由于其刚性需求、B 端属性、重 资产重运营属性等,或将迎来快速发展之年。 随着互联网的发展,面向 C 端的社交网络和面向商品的电子商务已日渐成熟,尤其是进入移动互联网时代, 通过智能终端,C 端以实现普遍联网,移动支付等基础环境日渐完备,互联网下沉实体产业的条件已经成熟。 2015 年 3 月,在十二届全国人大三次会议上,李克强总理在政府工作报告中首次提出“互联网+”行动计划; 2015 年 7 月,国务院印发了《关于积极推进“互联网+”行动的指导意见》,推动互联网由消费领域向生产领域 拓展。 在政策的助推下,“互联网+”可谓如火如荼,各行各业纷纷触网。停车难带来的“出行之痛”是城市的痼 疾,通过互联网把分散的停车场联接起来,破除信息孤岛,实现有限停车资源的优化配置是解决之道。“互联网 +停车”市场刚开始引燃,共享经济助推、资本涌入、政策利好三大驱动,助力互联网停车启航,各种停车 APP 涌现,据不完全统计目前全国停车 APP 远超 100 个。 目前停车 APP 企业主要集中在“北上深广”,同时逐渐辐射全国,亿邦动力网筛选了 100 家互联网停车公 司发现,“北上深广”停车 APP 企业占到总数的半数以上,突显了一线城市的停车问题,在全国范围内,华东、 西南、华北等区域,长三角、厦门、成都等二线城市停车创业公司也较为活跃。

三大驱动,助力互联网停车启航

1.2.1 共享经济助推
 Airbnb、Uber 的成功引爆了共享经济。Airbnb 在 2015 年三季度的营收为 3.4 亿美元,订单总额为 22 亿 美元,Uber 的拼车订单总额从 2013 年的 6.88 亿美元增长至今年预计的 108.4 亿美元,二者估值分别达到 255 亿美元和 500 亿美元,短短几年时间超过全球任何一家酒店公司或出租车公司的市值。两家公司迅速崛起 重塑了出租车和酒店行业,这是共享经济带来的革命性变革。 共享经济的本质是对资源的闲置使用权的重新配置,传统的商业模式下连接成本高,很难把碎片化的使用 权的供需双方对接起来,互联网共享平台的诞生使得供需双方“一键匹配”,极大降低了连接成本,也使得共享 经济大放异彩。 共享经济模式引入中国,共享交通先行,通过共享经济盘活交通资源,缓解出行难。过去两年,打车软件 混战以“滴滴”、“快的”合并终结,共享用车已巨头的领地。然而,共享停车市场刚开始起步。 1.2.2 资本涌入 2014 年底以来,在“互联网+”的热潮下,互联网停车倍受到了资本市场的青睐,成为风投追逐的热点。 几乎所有互联网停车融资项目都还处于天使轮和 A 轮阶段,可见总体处于互联网化过程的早期阶段。 2015 年 6 月 12 日,无忧停车获得来自信中利和银江股份等数千万人民币的 A 轮融资;9 月 22 日,“停简 单”对外宣布获得 2000 万美元 A 轮融资,由千方集团旗下投资主体领投,天使轮投资人峰瑞资本跟进;2015 年 6 月 8 日,ETCP 停车获得海纳亚洲、源码资本、经纬创投 5000 万美元的联合 A 轮投资,是迄今为止停车类 创业公司最大规模的融资。

上市智能停车设备商也争相发力,强势挺近互联网停车市场。
2015 年 7 月 20 日,安居宝披露非公开发行 预案,拟募集不超过 19 亿元用于“城市云停车联网系统项目”建设和推广;2015 年 10 月日,捷顺科技披露非 公开发行预案拟募集不超过 10 亿元,其中 9.4 亿元投入“智慧停车及智慧社区运营服务平台项目”。


park.GIF


互联网停车现状:四类玩家、五种模式,群雄混战
3.1 四类玩家 互联网停车主要有四类玩家:1)创业型公司;2)智能停车设备商; 3)市政交管部门;4)BAT。目前主 要以创业公司和智能停车设备商为主,BAT 只是轻度参与。

3.1.1 创业型公司 互联网停车风起,大量创业型公司涌入,如停车百事通、ETCP、丁丁停车、e 代泊等,创业型公司资源是 短板,只要一轻资产模式切入。

3.1.2 智能停车设备商 智能停车设备商乘“互联网+”的东风,从单纯的智能停车软硬件提供商向 “智能停车设备+云平台+APP” 全套解决方案提供商转型升级,具备软硬件技术优势,同时沉淀下来的停车场客户构成资源优势。如无忧停车、 捷顺科技(捷停车)、安居宝、立方控股(行呗)等。

3.1.3 市政交管部门 市政交管部门掌握路侧停车位及路外公共停车场(以北京为例市政掌握 16.65%的停车位),具有资源优势, 同时财政雄厚,整合能力强,如深圳市道路交通管理事务中心(宜停车)、上海市交通委(上海停车)。

3.1.4BAT:轻度参与 与“互联网+打车”被“阿里+腾讯”独霸不同,BAT 在“互联网+停车”还是轻度参与。腾讯以微信公众 号+微信支付”、百度以“百度地图+百度钱包”、阿里以“支付宝+高德地图+立方控股”切入互联网停车,主要 是以地图、支付应用和流量入口应用对停车 APP 进行整合、嵌入。



相关个股:

立方控股(833030.OC) 出入口控制与管理系统综合解决方案提供商,智能停车管理系统是公司核心业务,拥有 15 年的行业应用经 历,专利与技术积累深厚,是停车场十大品牌之一,通过推进互联网停车,逐渐由从智能停车设备商向服务商 转型。阿里旗下湖畔山南基金投资立方控股,成第二大股东,将获得阿里的资源、流量导入。立方控股以大型 商业地产、停车管理公司为突破口,与华润集团、恒大集团等知名大型商业地产集团达成战略合作,快速抢占 商业大厦、购物广场等优质停车场资源。


捷顺科技(002609.SZ) 出入口控制及智能安防行业的龙头企业,智能停车管理系统第一大品牌,依托强大的资源优势,以停车场 及社区联网为切入点,捷顺科技推进基于“智能终端+互联网”的智慧停车、智慧社区建设。捷顺科技打通产业 链关键环节,构建了强大的闭环产品体系:两种模式来推进联网,新系统标配自动联网和旧系统硬件软件升级 改造;合作第三方支付、城市通卡,拓展支付手段;参股雅丰信息,强化场内导航能力。公司深耕行业,优势 显著:智慧停车行业的开创者、龙头,智能视频识别技术、RFID 识别技术、室内定位等诸多技术居领先水平; 智能类终端广泛应用于住宅小区、商业大厦、写字楼、机场、酒店等场所,在一二线城市的已经积累十多万的 客户,万科、中海等全国性布局的地产或物业龙头公司均是公司的战略合作客户,停车场资源丰富;营销网络 遍布全国,地推能力强,23 家直属分公司、120 多家经销商基本覆盖全国,拥有 3000 多家集成商合作伙伴,超 过 2000 人的营销服务团队,具有强大的地推能力和客户服务能力;资金优势强,拟非公开发行募集不超过 10 亿元,其中 9.4 亿元拟投入“智慧停车及智慧社区运营服务平台”项目。 我们预测捷顺科技 2016、2017 年的 EPS 分别为 0.29、0.41 元,对应 PE 分别为 51、36 倍。

安居宝(300155.SZ) 社区安防领域龙头,以楼宇对讲系统起家,后拓展至智能停车场系统,依托智能停车技术积累,向云停车 转型升级。公司已基本完成智能停车全套技术积累,拥有停车场相关知识产权 32 项;车牌自动识别系统(识别 率 99%)、车位引导系统等行业领先,研发“编码盒”作为车牌自动识别系统的补充,可真正实现无人值守;拟 行业深度研究报告 HTTP://RESEARCH.CSC.COM.CN [table_page] 通信 请参阅最后一页的重要声明 非公开发行募集 19 亿元(已于近期过会),强势进军“云停车”,计划拟以免费提供软硬件系统的方式在全国 100 个城市快速整合 5 万个停车场。我们预测安居宝 2016、2017 年的 EPS 分别为 0.11、0.15 元,对应 PE 分别 为 148、109 倍。

千方科技(002373.SZ) 中国智能交通行业领军企业,经过十余载的积淀,千方科技业务已从城市交通、公路交通拓展到轨道交通、 民航等领域,形成从软硬件产品到服务到解决方案的全产业链布局,具备 2G、2B、2C 的服务能力,已成为国 内首屈一指的综合交通信息化企业。千方科技积极拥抱“大数据”和“互联网+”的大潮下,定位从智能交通向 智慧交通转变、从产品提供商向运营服务商转变。2015 年公司成立了控股子公司上海千方智能,专注于提供智 慧停车信息服务及运营平台,智慧停车成为公司新的业务突破口。千方科技利用物联网和云计算技术,对停车 资源实行动态的远程智能管理,打造包括停车导航、安全监管、停车运营、车位预定、错时停车、在线支付等 功能的智慧停车云服务运营体系。我们预测千方科技 2016、2017 年的 EPS 分别为 0.75、1 元,对应 PE 分别为 45、34 倍。

原文链接:http://30daydo.com/article/283
欢迎转载,请注明出处。 收起阅读 »

strptime修改默认年份,datetime - strptime默认值为 1900

比如
s='03-06 18:36'
news_time_f=datetime.datetime.strptime(s,%m-%d %H:%M')
print news_time_f
 
返回来的结果是datetime类型,但是年份是1900年。
1900-03-06 18:36:00
 
有两种办法:
1. 在日期格式前人为添加年份
news_time_f=datetime.datetime.strptime(''s,'%Y-%m-%d %H:%M')
 
2.使用自带的replace函数
s='03-06 18:36'
news_time_f=datetime.datetime.strptime(s,%m-%d %H:%M')
news_time_f=news_time_f.replace(2018)
 
上面两种方法都可以把03-06 18:36
转换为2018-03-06 18:36:00的datetime类型
继续阅读 »
比如
s='03-06 18:36'
news_time_f=datetime.datetime.strptime(s,%m-%d %H:%M')
print news_time_f
 
返回来的结果是datetime类型,但是年份是1900年。
1900-03-06 18:36:00
 
有两种办法:
1. 在日期格式前人为添加年份
news_time_f=datetime.datetime.strptime(''s,'%Y-%m-%d %H:%M')
 
2.使用自带的replace函数
s='03-06 18:36'
news_time_f=datetime.datetime.strptime(s,%m-%d %H:%M')
news_time_f=news_time_f.replace(2018)
 
上面两种方法都可以把03-06 18:36
转换为2018-03-06 18:36:00的datetime类型 收起阅读 »

【a股黑名单】A股中你应该避免买到以下个股,个人总结的拉黑名单

更新列表:http://30daydo.com/q/blacklist.php
 
#### 2019-11-20 
最近獐子岛居然故技重施,真想不懂这公司为啥大家不用脚投票,直接不买,第一次买到暴雷抱怨A股黑心公司,
第二次又买獐子岛,只能说明买的散户活该,后面继续买,估计是脑子有问题的了。
 
 
######## 2017年08月拉黑原因不是因为业绩差,而是因为公司的基因问题,只要公司作过一次假,就很有可能会有下一次。
最近獐子岛居然用同一个理由,把经营不善这个黑锅扣到扇贝上,好黑。

公司名称       拉黑原因

 | 国新健康     | 操作概念高手,没实际业绩                                                                                                                                                        
| 英力特       | 涉嫌通过虚假要约收购操纵股价                                                                                                                                                    
| 华泽钴镍     | 实控人掏空公司资产,关联交易                                                                                                                                                    
| 神雾节能     | 财务造假,关联交易多多                                                                                                                                                          
| 欢瑞世纪     | 没有业绩,全是造假,主营没有,炒作概念,财务作假                                                                                                                                
| 中弘股份     | 宣布的并购事项高达近40次,平均下来,每年“并购”个四五家企业,涉及的行业都是一时热门,比如手游、影视、矿产                                                                        
| 獐子岛       | 经营造假,扇贝随时会跑掉                                                                                                                                                        
| ST众和       | 公司涉嫌信息披露违法违规,遭证监立案调查,业绩变脸,莆田                                                                                                                        
| *ST云网      | *ST云网虚假陈述案遭161名股东索赔                                                                                                                                                
| 巨力索具     | 娱乐圈杨子阴阳合同,居然恐吓崔永元,修改业绩,盈利变亏损                                                                                                                        
| ST尤夫       | 卷入12起民间借贷纠纷,实际控制人颜静刚(不是好鸟,原来这个人的公司)                                                                                                               
| 晨鑫科技     | 晨鑫科技实控人等涉嫌操纵证券市场被采取强制措施                                                                                                                                  
| 龙力生物     | 龙力生物亏35亿:精准套现是否涉嫌内幕交易,业绩变脸                                                                                                                                
| 大连电瓷     | 董事长儿子操纵股价,庄股                                                                                                                                                        
| 顾地科技     | 复牌前公司实际控制人任永青被立案调查                                                                                                                                            
| GQY视讯      | 拟以资产价格580万元受让总经理夫人的一台劳斯莱斯                                                                                                                                 
| 乐视网       | PPT公司,关联交易多                                                                                                                                                             
| 神雾环保     | 财务造假,关联交易多多                                                                                                                                                          
| 尔康制药     | 财务造假,虚编高盈利项目                                                                                                                                                        
| 易事特       | 董事长何思模因公司信息披露涉嫌违反证券相关法律法规                                                                                                                              
| 金盾股份     | 金盾股份董事长跳楼自杀,有雷,要小心!                                                                                                                                          
| 日照港       | 高管贪污腐败                                                                                                                                                                    
| 保千里       | 财务作假,左手倒右手,虚假业绩,掏空公司                                                                                                                                        
| 广汇能源     | 跨省抓股民,以大欺小                                                                                                                                                            
| 亿阳信通     | 大股东亿阳集团涉嫌非法欺诈利用上市公司担保无法偿还,东北!                                                                                                                       
| 宏达矿业     | 实际控制人颜静刚(不是好鸟,原来这个人的公司),此人陷入民间纠纷, 事发后转移了产权                                                                                                
| ST慧球       | 因拒不披露股东变动信息、拒不整改而被上交所施以“ST”处理之后,公司治理已陷入乱局的ST慧球居然又玩出了“童话”般的新花样                                                              
| 万家文化     |  空壳,配合赵薇夫妇操作                                                                                                                                                         
| 富控互动     | 实际控制人颜静刚(不是好鸟,原来这个人的公司),此人陷入民间纠纷                                                                                                                  
| 匹凸匹       | 财务作假                                                                                                                                                                        
| 大连控股     | 大连控股投资者索赔案首次开庭 投资者索赔逾亿元                                                                                                                                   
| 天业股份     | 52亿不知去向,估计管理凌乱                 
 
 
经过后期的追踪,这些黑名单个股遭遇不同的跌停或者连绵不断的阴跌, 有些公司为了避免新股民追踪他们的历史,不断地修改公司名称,所以有时候真是防不胜防,只能收录到库里面,记录好公司的证券代码,具体可以到这里查询:http://30daydo.com/q/blacklist.php 



如果你也对某些个股的做法实在看不过去,也可以加入回复,到时更新到 http://30daydo.com/q/blacklist.php


原创文章,转载请注明出处:
http://30daydo.com/article/281 

 
继续阅读 »
更新列表:http://30daydo.com/q/blacklist.php
 
#### 2019-11-20 
最近獐子岛居然故技重施,真想不懂这公司为啥大家不用脚投票,直接不买,第一次买到暴雷抱怨A股黑心公司,
第二次又买獐子岛,只能说明买的散户活该,后面继续买,估计是脑子有问题的了。
 
 
######## 2017年08月拉黑原因不是因为业绩差,而是因为公司的基因问题,只要公司作过一次假,就很有可能会有下一次。
最近獐子岛居然用同一个理由,把经营不善这个黑锅扣到扇贝上,好黑。

公司名称       拉黑原因

 | 国新健康     | 操作概念高手,没实际业绩                                                                                                                                                        
| 英力特       | 涉嫌通过虚假要约收购操纵股价                                                                                                                                                    
| 华泽钴镍     | 实控人掏空公司资产,关联交易                                                                                                                                                    
| 神雾节能     | 财务造假,关联交易多多                                                                                                                                                          
| 欢瑞世纪     | 没有业绩,全是造假,主营没有,炒作概念,财务作假                                                                                                                                
| 中弘股份     | 宣布的并购事项高达近40次,平均下来,每年“并购”个四五家企业,涉及的行业都是一时热门,比如手游、影视、矿产                                                                        
| 獐子岛       | 经营造假,扇贝随时会跑掉                                                                                                                                                        
| ST众和       | 公司涉嫌信息披露违法违规,遭证监立案调查,业绩变脸,莆田                                                                                                                        
| *ST云网      | *ST云网虚假陈述案遭161名股东索赔                                                                                                                                                
| 巨力索具     | 娱乐圈杨子阴阳合同,居然恐吓崔永元,修改业绩,盈利变亏损                                                                                                                        
| ST尤夫       | 卷入12起民间借贷纠纷,实际控制人颜静刚(不是好鸟,原来这个人的公司)                                                                                                               
| 晨鑫科技     | 晨鑫科技实控人等涉嫌操纵证券市场被采取强制措施                                                                                                                                  
| 龙力生物     | 龙力生物亏35亿:精准套现是否涉嫌内幕交易,业绩变脸                                                                                                                                
| 大连电瓷     | 董事长儿子操纵股价,庄股                                                                                                                                                        
| 顾地科技     | 复牌前公司实际控制人任永青被立案调查                                                                                                                                            
| GQY视讯      | 拟以资产价格580万元受让总经理夫人的一台劳斯莱斯                                                                                                                                 
| 乐视网       | PPT公司,关联交易多                                                                                                                                                             
| 神雾环保     | 财务造假,关联交易多多                                                                                                                                                          
| 尔康制药     | 财务造假,虚编高盈利项目                                                                                                                                                        
| 易事特       | 董事长何思模因公司信息披露涉嫌违反证券相关法律法规                                                                                                                              
| 金盾股份     | 金盾股份董事长跳楼自杀,有雷,要小心!                                                                                                                                          
| 日照港       | 高管贪污腐败                                                                                                                                                                    
| 保千里       | 财务作假,左手倒右手,虚假业绩,掏空公司                                                                                                                                        
| 广汇能源     | 跨省抓股民,以大欺小                                                                                                                                                            
| 亿阳信通     | 大股东亿阳集团涉嫌非法欺诈利用上市公司担保无法偿还,东北!                                                                                                                       
| 宏达矿业     | 实际控制人颜静刚(不是好鸟,原来这个人的公司),此人陷入民间纠纷, 事发后转移了产权                                                                                                
| ST慧球       | 因拒不披露股东变动信息、拒不整改而被上交所施以“ST”处理之后,公司治理已陷入乱局的ST慧球居然又玩出了“童话”般的新花样                                                              
| 万家文化     |  空壳,配合赵薇夫妇操作                                                                                                                                                         
| 富控互动     | 实际控制人颜静刚(不是好鸟,原来这个人的公司),此人陷入民间纠纷                                                                                                                  
| 匹凸匹       | 财务作假                                                                                                                                                                        
| 大连控股     | 大连控股投资者索赔案首次开庭 投资者索赔逾亿元                                                                                                                                   
| 天业股份     | 52亿不知去向,估计管理凌乱                 
 
 
经过后期的追踪,这些黑名单个股遭遇不同的跌停或者连绵不断的阴跌, 有些公司为了避免新股民追踪他们的历史,不断地修改公司名称,所以有时候真是防不胜防,只能收录到库里面,记录好公司的证券代码,具体可以到这里查询:http://30daydo.com/q/blacklist.php 



如果你也对某些个股的做法实在看不过去,也可以加入回复,到时更新到 http://30daydo.com/q/blacklist.php


原创文章,转载请注明出处:
http://30daydo.com/article/281 

  收起阅读 »

树莓派时间修改为中国本地时间

树莓派默认的时间为UTC时间,运行date命令,返回的是:

date_pi.jpg

 
很容易看出,和中国时间相差了八个小时。这是由于树莓派默认显示的是UTC,也就是国际时区的时间。
 
解决方案如下:

 

首先,我们要了解一个东东,它的名字叫做NTP。

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。

 

第一步:安装NTP,输入指令“sudo apt-get install ntpdate ”。

 

第二步:启用NTP,输入指令“sudo timedatectl set-ntp true”。

 

第三步:修改本地时区,输入指令“sudo dpkg-reconfigure tzdata”。

在这一步中,我选的是“asia/shanghai”时区。
 
再次输入“date”指令:

 
date_pi1.jpg



可见已经顺利变成本地时间CST。
 
继续阅读 »
树莓派默认的时间为UTC时间,运行date命令,返回的是:

date_pi.jpg

 
很容易看出,和中国时间相差了八个小时。这是由于树莓派默认显示的是UTC,也就是国际时区的时间。
 
解决方案如下:

 

首先,我们要了解一个东东,它的名字叫做NTP。

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。

 

第一步:安装NTP,输入指令“sudo apt-get install ntpdate ”。

 

第二步:启用NTP,输入指令“sudo timedatectl set-ntp true”。

 

第三步:修改本地时区,输入指令“sudo dpkg-reconfigure tzdata”。

在这一步中,我选的是“asia/shanghai”时区。
 
再次输入“date”指令:

 
date_pi1.jpg



可见已经顺利变成本地时间CST。
  收起阅读 »

python监测股票出现的规律大单

日期:2018-02-27 11:30
 
首先获取当日的历史分笔数据
code='300527'
df = ts.get_today_ticks(code)

 然后根据成交量进行排序:
df.sort_values(by='volume',ascending=False).head(100)
显示前100的成交量。
华舟应急.GIF

 
 
从上面的表格可以看到,不断有1500手的卖盘,而且卖出价格比正常的药低3个点,所谓的砸盘。
但是每次砸完了价格又会正常的回来原来的地方。 从分时走势上也可以看到一个个凸起的大单成交量。

华舟应急分时.GIF

 
每次打压完,股价还会正常回到原来的位置。 个人觉得这个是有人在出货,但是不断有人在接货。是不同的两伙人。 
继续阅读 »
日期:2018-02-27 11:30
 
首先获取当日的历史分笔数据
code='300527'
df = ts.get_today_ticks(code)

 然后根据成交量进行排序:
df.sort_values(by='volume',ascending=False).head(100)
显示前100的成交量。
华舟应急.GIF

 
 
从上面的表格可以看到,不断有1500手的卖盘,而且卖出价格比正常的药低3个点,所谓的砸盘。
但是每次砸完了价格又会正常的回来原来的地方。 从分时走势上也可以看到一个个凸起的大单成交量。

华舟应急分时.GIF

 
每次打压完,股价还会正常回到原来的位置。 个人觉得这个是有人在出货,但是不断有人在接货。是不同的两伙人。  收起阅读 »

输入>>输出 ??

我们每个人的生活,基本上都是信息的投入产出组成的,你看视频,刷新闻,读公众号,都是一种输入,当你开始输出的时候,你的投入才会通过大脑的思考和逻辑,内化成对你而言有价值的东西。

因此,不论是打游戏成瘾,还是看电视剧看到疯魔,在我眼里,都是一种失控的输入,是一种零输出,是一种对生活完全的透支。

最可怕的地方在于,输出的能力是需要培养和训练的。就好比我们高中的时候,练作文,你光看范文半点用没有,必须自己动笔写才会有提高。

一个人如果很长时间不输出自己的知识,自然就没有兴趣去做这件事,继而更加不会锻炼到这种能力,这样的恶性循环,就会导致被吸收的知识不断被遗忘,知识变成废料。

而这,也是生活中大多数人每天在做的事。想想你上次看的公众号内容,你还记得多少呢?
继续阅读 »
我们每个人的生活,基本上都是信息的投入产出组成的,你看视频,刷新闻,读公众号,都是一种输入,当你开始输出的时候,你的投入才会通过大脑的思考和逻辑,内化成对你而言有价值的东西。

因此,不论是打游戏成瘾,还是看电视剧看到疯魔,在我眼里,都是一种失控的输入,是一种零输出,是一种对生活完全的透支。

最可怕的地方在于,输出的能力是需要培养和训练的。就好比我们高中的时候,练作文,你光看范文半点用没有,必须自己动笔写才会有提高。

一个人如果很长时间不输出自己的知识,自然就没有兴趣去做这件事,继而更加不会锻炼到这种能力,这样的恶性循环,就会导致被吸收的知识不断被遗忘,知识变成废料。

而这,也是生活中大多数人每天在做的事。想想你上次看的公众号内容,你还记得多少呢? 收起阅读 »

python预测下一期双色球号码【机器学习】

Task:
1. 在福彩官网抓取所有的历史双色球数据。
2. 使用历史数据进行继续学习。
 
Part1 数据抓取
 
main.py
import re
from bs4 import BeautifulSoup
import urllib2
from mylog import MyLog as mylog
from save2excel import SavaBallDate

class DoubleColorBallItem(object):
date = None
order = None
red1 = None
red2 = None
red3 = None
red4 = None
red5 = None
red6 = None
blue = None
money = None
firstPrize = None
secondPrize = None

class GetDoubleColorBallNumber(object):
'''这个类用于获取双色球中奖号码, 返回一个txt文件
'''
def __init__(self):
self.urls =
self.log = mylog()
self.getUrls()
self.items = self.spider(self.urls)
self.pipelines(self.items)
self.log.info('beging save data to excel \r\n')
SavaBallDate(self.items)
self.log.info('save data to excel end ...\r\n')


def getUrls(self):
'''获取数据来源网页
'''
URL = r'http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html'
htmlContent = self.getResponseContent(URL)
soup = BeautifulSoup(htmlContent, 'lxml')
tag = soup.find_all(re.compile('p'))[-1]
pages = tag.strong.get_text()
for i in xrange(1, int(pages)+1):
url = r'http://kaijiang.zhcw.com/zhcw/html/ssq/list_' + str(i) + '.html'
self.urls.append(url)
self.log.info(u'添加URL:%s 到URLS \r\n' %url)

def getResponseContent(self, url):
'''这里单独使用一个函数返回页面返回值,是为了后期方便的加入proxy和headers等
'''
try:
response = urllib2.urlopen(url.encode('utf8'))
except:
self.log.error(u'Python 返回URL:%s 数据失败 \r\n' %url)
else:
self.log.info(u'Python 返回URUL:%s 数据成功 \r\n' %url)
return response.read()


def spider(self,urls):
'''这个函数的作用是从获取的数据中过滤得到中奖信息
'''
items =
for url in urls:
htmlContent = self.getResponseContent(url)
soup = BeautifulSoup(htmlContent, 'lxml')
tags = soup.find_all('tr', attrs={})
for tag in tags:
if tag.find('em'):
item = DoubleColorBallItem()
tagTd = tag.find_all('td')
item.date = tagTd[0].get_text()
item.order = tagTd[1].get_text()
tagEm = tagTd[2].find_all('em')
item.red1 = tagEm[0].get_text()
item.red2 = tagEm[1].get_text()
item.red3 = tagEm[2].get_text()
item.red4 = tagEm[3].get_text()
item.red5 = tagEm[4].get_text()
item.red6 = tagEm[5].get_text()
item.blue = tagEm[6].get_text()
item.money = tagTd[3].find('strong').get_text()
item.firstPrize = tagTd[4].find('strong').get_text()
item.secondPrize = tagTd[5].find('strong').get_text()
items.append(item)
self.log.info(u'获取日期为:%s 的数据成功' %(item.date))
return items

def pipelines(self,items):
fileName = u'双色球.txt'.encode('GBK')
with open(fileName, 'w') as fp:
for item in items:
fp.write('%s %s \t %s %s %s %s %s %s %s \t %s \t %s %s \n'
%(item.date,item.order,item.red1,item.red2,item.red3,item.red4,item.red5,item.red6,item.blue,item.money,item.firstPrize,item.secondPrize))
self.log.info(u'将日期为:%s 的数据存入"%s"...' %(item.date, fileName.decode('GBK')))


if __name__ == '__main__':
GDCBN = GetDoubleColorBallNumber()




from mylog import MyLog as mylog 
from save2excel import SavaBallDate
这两个模块四用来显示log和保存为excel数据。
import logging
import getpass
import sys


#### 定义MyLog类
class MyLog(object):
#### 类MyLog的构造函数
def __init__(self):
self.user = getpass.getuser()
self.logger = logging.getLogger(self.user)
self.logger.setLevel(logging.DEBUG)

#### 日志文件名
self.logFile = sys.argv[0][0:-3] + '.log'
self.formatter = logging.Formatter('%(asctime)-12s %(levelname)-8s %(name)-10s %(message)-12s\r\n')

#### 日志显示到屏幕上并输出到日志文件内
self.logHand = logging.FileHandler(self.logFile, encoding='utf8')
self.logHand.setFormatter(self.formatter)
self.logHand.setLevel(logging.DEBUG)

self.logHandSt = logging.StreamHandler()
self.logHandSt.setFormatter(self.formatter)
self.logHandSt.setLevel(logging.DEBUG)

self.logger.addHandler(self.logHand)
self.logger.addHandler(self.logHandSt)

#### 日志的5个级别对应以下的5个函数
def debug(self,msg):
self.logger.debug(msg)

def info(self,msg):
self.logger.info(msg)

def warn(self,msg):
self.logger.warn(msg)

def error(self,msg):
self.logger.error(msg)

def critical(self,msg):
self.logger.critical(msg)

if __name__ == '__main__':
mylog = MyLog()
mylog.debug(u"I'm debug 测试中文")
mylog.info("I'm info")
mylog.warn("I'm warn")
mylog.error(u"I'm error 测试中文")
mylog.critical("I'm critical")


 
import xlwt
class SavaBallDate(object):
def __init__(self, items):
self.items = items
self.run(self.items)

def run(self,items):
fileName = u'双色球.xls'.encode('GBK')
book = xlwt.Workbook(encoding='utf8')
sheet=book.add_sheet('ball', cell_overwrite_ok=True)
sheet.write(0, 0, u'开奖日期'.encode('utf8'))
sheet.write(0, 1, u'期号'.encode('utf8'))
sheet.write(0, 2, u'红1'.encode('utf8'))
sheet.write(0, 3, u'红2'.encode('utf8'))
sheet.write(0, 4, u'红3'.encode('utf8'))
sheet.write(0, 5, u'红4'.encode('utf8'))
sheet.write(0, 6, u'红5'.encode('utf8'))
sheet.write(0, 7, u'红6'.encode('utf8'))
sheet.write(0, 8, u'蓝'.encode('utf8'))
sheet.write(0, 9, u'销售金额'.encode('utf8'))
sheet.write(0, 10, u'一等奖'.encode('utf8'))
sheet.write(0, 11, u'二等奖'.encode('utf8'))
i = 1
while i <= len(items):
item = items[i-1]
sheet.write(i, 0, item.date)
sheet.write(i, 1, item.order)
sheet.write(i, 2, item.red1)
sheet.write(i, 3, item.red2)
sheet.write(i, 4, item.red3)
sheet.write(i, 5, item.red4)
sheet.write(i, 6, item.red5)
sheet.write(i, 7, item.red6)
sheet.write(i, 8, item.blue)
sheet.write(i, 9, item.money)
sheet.write(i, 10, item.firstPrize)
sheet.write(i, 11, item.secondPrize)
i += 1
book.save(fileName)



if __name__ == '__main__':
pass



 
运行脚本后,会在本地生成一个excel文件,保存为一下的格式:

double.GIF

 
第一步完成。
 Part2 机器学习进行预测
2018-02-19
待续,后面继续更新 
原文链接:
http://30daydo.com/article/277
 
继续阅读 »
Task:
1. 在福彩官网抓取所有的历史双色球数据。
2. 使用历史数据进行继续学习。
 
Part1 数据抓取
 
main.py
import re
from bs4 import BeautifulSoup
import urllib2
from mylog import MyLog as mylog
from save2excel import SavaBallDate

class DoubleColorBallItem(object):
date = None
order = None
red1 = None
red2 = None
red3 = None
red4 = None
red5 = None
red6 = None
blue = None
money = None
firstPrize = None
secondPrize = None

class GetDoubleColorBallNumber(object):
'''这个类用于获取双色球中奖号码, 返回一个txt文件
'''
def __init__(self):
self.urls =
self.log = mylog()
self.getUrls()
self.items = self.spider(self.urls)
self.pipelines(self.items)
self.log.info('beging save data to excel \r\n')
SavaBallDate(self.items)
self.log.info('save data to excel end ...\r\n')


def getUrls(self):
'''获取数据来源网页
'''
URL = r'http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html'
htmlContent = self.getResponseContent(URL)
soup = BeautifulSoup(htmlContent, 'lxml')
tag = soup.find_all(re.compile('p'))[-1]
pages = tag.strong.get_text()
for i in xrange(1, int(pages)+1):
url = r'http://kaijiang.zhcw.com/zhcw/html/ssq/list_' + str(i) + '.html'
self.urls.append(url)
self.log.info(u'添加URL:%s 到URLS \r\n' %url)

def getResponseContent(self, url):
'''这里单独使用一个函数返回页面返回值,是为了后期方便的加入proxy和headers等
'''
try:
response = urllib2.urlopen(url.encode('utf8'))
except:
self.log.error(u'Python 返回URL:%s 数据失败 \r\n' %url)
else:
self.log.info(u'Python 返回URUL:%s 数据成功 \r\n' %url)
return response.read()


def spider(self,urls):
'''这个函数的作用是从获取的数据中过滤得到中奖信息
'''
items =
for url in urls:
htmlContent = self.getResponseContent(url)
soup = BeautifulSoup(htmlContent, 'lxml')
tags = soup.find_all('tr', attrs={})
for tag in tags:
if tag.find('em'):
item = DoubleColorBallItem()
tagTd = tag.find_all('td')
item.date = tagTd[0].get_text()
item.order = tagTd[1].get_text()
tagEm = tagTd[2].find_all('em')
item.red1 = tagEm[0].get_text()
item.red2 = tagEm[1].get_text()
item.red3 = tagEm[2].get_text()
item.red4 = tagEm[3].get_text()
item.red5 = tagEm[4].get_text()
item.red6 = tagEm[5].get_text()
item.blue = tagEm[6].get_text()
item.money = tagTd[3].find('strong').get_text()
item.firstPrize = tagTd[4].find('strong').get_text()
item.secondPrize = tagTd[5].find('strong').get_text()
items.append(item)
self.log.info(u'获取日期为:%s 的数据成功' %(item.date))
return items

def pipelines(self,items):
fileName = u'双色球.txt'.encode('GBK')
with open(fileName, 'w') as fp:
for item in items:
fp.write('%s %s \t %s %s %s %s %s %s %s \t %s \t %s %s \n'
%(item.date,item.order,item.red1,item.red2,item.red3,item.red4,item.red5,item.red6,item.blue,item.money,item.firstPrize,item.secondPrize))
self.log.info(u'将日期为:%s 的数据存入"%s"...' %(item.date, fileName.decode('GBK')))


if __name__ == '__main__':
GDCBN = GetDoubleColorBallNumber()




from mylog import MyLog as mylog 
from save2excel import SavaBallDate
这两个模块四用来显示log和保存为excel数据。
import logging
import getpass
import sys


#### 定义MyLog类
class MyLog(object):
#### 类MyLog的构造函数
def __init__(self):
self.user = getpass.getuser()
self.logger = logging.getLogger(self.user)
self.logger.setLevel(logging.DEBUG)

#### 日志文件名
self.logFile = sys.argv[0][0:-3] + '.log'
self.formatter = logging.Formatter('%(asctime)-12s %(levelname)-8s %(name)-10s %(message)-12s\r\n')

#### 日志显示到屏幕上并输出到日志文件内
self.logHand = logging.FileHandler(self.logFile, encoding='utf8')
self.logHand.setFormatter(self.formatter)
self.logHand.setLevel(logging.DEBUG)

self.logHandSt = logging.StreamHandler()
self.logHandSt.setFormatter(self.formatter)
self.logHandSt.setLevel(logging.DEBUG)

self.logger.addHandler(self.logHand)
self.logger.addHandler(self.logHandSt)

#### 日志的5个级别对应以下的5个函数
def debug(self,msg):
self.logger.debug(msg)

def info(self,msg):
self.logger.info(msg)

def warn(self,msg):
self.logger.warn(msg)

def error(self,msg):
self.logger.error(msg)

def critical(self,msg):
self.logger.critical(msg)

if __name__ == '__main__':
mylog = MyLog()
mylog.debug(u"I'm debug 测试中文")
mylog.info("I'm info")
mylog.warn("I'm warn")
mylog.error(u"I'm error 测试中文")
mylog.critical("I'm critical")


 
import xlwt
class SavaBallDate(object):
def __init__(self, items):
self.items = items
self.run(self.items)

def run(self,items):
fileName = u'双色球.xls'.encode('GBK')
book = xlwt.Workbook(encoding='utf8')
sheet=book.add_sheet('ball', cell_overwrite_ok=True)
sheet.write(0, 0, u'开奖日期'.encode('utf8'))
sheet.write(0, 1, u'期号'.encode('utf8'))
sheet.write(0, 2, u'红1'.encode('utf8'))
sheet.write(0, 3, u'红2'.encode('utf8'))
sheet.write(0, 4, u'红3'.encode('utf8'))
sheet.write(0, 5, u'红4'.encode('utf8'))
sheet.write(0, 6, u'红5'.encode('utf8'))
sheet.write(0, 7, u'红6'.encode('utf8'))
sheet.write(0, 8, u'蓝'.encode('utf8'))
sheet.write(0, 9, u'销售金额'.encode('utf8'))
sheet.write(0, 10, u'一等奖'.encode('utf8'))
sheet.write(0, 11, u'二等奖'.encode('utf8'))
i = 1
while i <= len(items):
item = items[i-1]
sheet.write(i, 0, item.date)
sheet.write(i, 1, item.order)
sheet.write(i, 2, item.red1)
sheet.write(i, 3, item.red2)
sheet.write(i, 4, item.red3)
sheet.write(i, 5, item.red4)
sheet.write(i, 6, item.red5)
sheet.write(i, 7, item.red6)
sheet.write(i, 8, item.blue)
sheet.write(i, 9, item.money)
sheet.write(i, 10, item.firstPrize)
sheet.write(i, 11, item.secondPrize)
i += 1
book.save(fileName)



if __name__ == '__main__':
pass



 
运行脚本后,会在本地生成一个excel文件,保存为一下的格式:

double.GIF

 
第一步完成。
 Part2 机器学习进行预测
2018-02-19
待续,后面继续更新 
原文链接:
http://30daydo.com/article/277
  收起阅读 »