Python开发一个股票类库

前言

使用Python开发一个股票项目。 
项目地址: 
https://github.com/pythonstock/stock 
相关资料: 
http://blog.csdn.net/freewebsys/article/details/78294566 
主要使用开发语言是python。 
使用的lib库是pandas,tushare,TensorFlow,tornado等。

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78578548 
未经博主允许不得转载。 
博主地址是:http://blog.csdn.net/freewebsys

计算股票中的16个常用指标方法大全

一个python的类库stockstats 已经帮忙把这些数据都计算出来了。 
现在需要做的就是把这个数据展示出,分析下。每一个都是一个纬度分析的方法。 
要一个一个的学习下。

主要指标有 CR指标 KDJ指标 SMA指标 MACD指标 BOLL指标 RSI指标 WR指标 
CCI指标 TR、ATR指标 DMA指标 DMI,+DI,-DI,DX,ADX,ADXR指标 
TRIX,MATRIX指标 VR,MAVR指标 等。 
具体的计算代码不做分析,可以直接查看 stockstats 也是非常的简单的。 
用几个 pandas 的函数就出来了。主要将的是使用方法。 
具体使用效果需要慢慢使用才知道。

特别的感谢 http://wiki.mbalib.com/ 好多说明是从 mbalib上面查询到的。

pip install stockstats
  •  

直接安装就行。 
项目地址:https://github.com/jealous/stockstats

这个lib库和pandas 一样实现了下标访问的方式去计算。

    @classmethoddef _get_kdjk(cls, df, n_days):""" Get the K of KDJK = 2/3 × (prev. K) +1/3 × (curr. RSV)2/3 and 1/3 are the smooth parameters.:param df: data:param n_days: calculation range:return: None"""rsv_column = 'rsv_{}'.format(n_days)k_column = 'kdjk_{}'.format(n_days)df[k_column] = list(cls._calc_kd(df.get(rsv_column)))

如果要计算数据 直接访问 stockStat[‘kdjk_3’] ,就可以制定使用 kdjk 指标,同时设置周期3天。参数传递方式特别有意思。很简单粗暴。用起来超级方便。

#开始计算。以平安银行为例:
#!/usr/local/bin/python
# -*- coding: utf-8 -*-import math
import pandas as pd
import numpy as np
import tushare as ts
import datetime
import matplotlib.pyplot as plt
import stockstatsbegin_time = '2017-02-01'
end_time = '2017-11-01'
code = "000001"
stock = ts.get_hist_data(code, start=begin_time, end=end_time)
stock["date"] = stock.index.values #增加日期列。
stock = stock.sort_index(0) # 将数据按照日期排序下。
#print(stock) [186 rows x 14 columns]
#初始化统计类
#stockStat = stockstats.StockDataFrame.retype(pd.read_csv('002032.csv'))
stockStat = stockstats.StockDataFrame.retype(stock)
print("init finish .")

1,delta 方法

没有找到 volume_delta 这个方法的实现。 
原来调用是 key + “_delta” 去调用的。 
超级方便。

# volume delta against previous day 
# The Volume Delta (Vol ∆) 
stockStat[['volume','volume_delta']].plot(figsize=(20,10), grid=True)
plt.show()
#交易量的delta转换。交易量是正,volume_delta把跌变成负值。
stockStat[['close','close_delta']].plot(subplots=True, figsize=(20,10), grid=True)
plt.show()

这里写图片描述

2,计算n天差

可以计算,向前n天,和向后n天的差。直接使用 key “n_d” 或 “-n_d” 。 
如下图。向前和向后对涨跌的趋势判断不太一样。使用”_-n_d” 比较像原始数据的涨跌。

stockStat[['close','close_1_d','close_2_d','close_-1_d','close_-2_d']].plot(subplots=True, figsize=(20,10), grid=True)
plt.show()
# close_1_d  1 天的价差。 n天 - (n+1)天
# close_2_d  1 天的价差。 n天 - (n+2)天
# shift 函数是将数据 向前-n 向后+n 移动n天。 但是这个操作做了一个负值。
# 也就是 close_-1_d 才是和昨天的差 close_1_d 是和明天的差
#print(stockStat['close_-2_d'].head(10))
#print("stockStat['close']-stockStat['close'].shift(-1)")
#print((stockStat['close']-stockStat['close'].shift(-2)).head(10))
#print("############检查数据")
#print(stockStat['close'].head(10))
#print(stockStat['close'].shift(2).head(10))

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78578548 
未经博主允许不得转载。 
博主地址是:http://blog.csdn.net/freewebsys

3,n天涨跌百分百计算

open price change (in percent) between today and the day before yesterday ‘r’ stands for rate. 
stock[‘close_-2_r’] 
可以看到,-n天数据和今天数据的百分比。

stockStat[['close','close_-1_r','close_-2_r']].plot(subplots=True, figsize=(20,10), grid=True)
plt.show()

4,CR指标

http://wiki.mbalib.com/wiki/CR%E6%8C%87%E6%A0%87 
价格动量指标

  1. CR跌穿a、b、c、d四条线,再由低点向上爬升160时,为短线获利的一个良机,应适当卖出股票。
  2. CR跌至40以下时,是建仓良机。而CR高于300~400时,应注意适当减仓。
# CR indicator, including 5, 10, 20 days moving average
stockStat[['close','cr','cr-ma1','cr-ma2','cr-ma3']].plot(subplots=True, figsize=(20,10), grid=True)
plt.show()

5,KDJ指标

http://wiki.mbalib.com/wiki/%E9%9A%8F%E6%9C%BA%E6%8C%87%E6%A0%87

随机指标(KDJ)一般是根据统计学的原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值RSV,然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势。

(3)在使用中,常有J线的指标,即3乘以K值减2乘以D值(3K-2D=J),其目的是求出K值与D值的最大乖离程度,以领先KD值找出底部和头部。J大于100时为超买,小于10时为超卖。

# KDJ, default to 9 days
stockStat[['close','kdjk','kdjd','kdjj'] # 分别是k d j 三个数据统计项。].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()# three days KDJK cross up 3 days KDJD
# stockStat['kdjk_3_xu_kdjd_3'].plot(figsize=(20,10), grid=True)
# plt.show()
print(stockStat['kdjk_3_xu_kdjd_3'].tail())

6,SMA指标

http://wiki.mbalib.com/wiki/Sma 
简单移动平均线(Simple Moving Average,SMA)

可以动态输入参数,获得几天的移动平均。

# 2 days simple moving average on open price
stockStat[['close','close_5_sma','close_10_sma'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

7,MACD指标

http://wiki.mbalib.com/wiki/MACD 
平滑异同移动平均线(Moving Average Convergence Divergence,简称MACD指标),也称移动平均聚散指标

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78578548 
未经博主允许不得转载。 
博主地址是:http://blog.csdn.net/freewebsys

MACD 
stock[‘macd’] 
MACD signal line 
stock[‘macds’] 
MACD histogram 
stock[‘macdh’]

MACD技术分析,运用DIF线与MACD线之相交型态及直线棒高低点与背离现象,作为买卖讯号,尤其当市场股价走势呈一较为明确波段趋势时, 
MACD 则可发挥其应有的功能,但当市场呈牛皮盘整格局,股价不上不下时,MACD买卖讯号较不明显。 
当用MACD作分析时,亦可运用其他的技术分析指标如短期 K,D图形作为辅助工具,而且也可对买卖讯号作双重的确认。

# MACD 
stockStat[['close','macd','macds','macdh'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

8,BOLL指标

http://wiki.mbalib.com/wiki/BOLL 
布林线指标(Bollinger Bands)

bolling, including upper band and lower band 
stock[‘boll’] 
stock[‘boll_ub’] 
stock[‘boll_lb’]

1、当布林线开口向上后,只要股价K线始终运行在布林线的中轨上方的时候,说明股价一直处在一个中长期上升轨道之中,这是BOLL指标发出的持股待涨信号,如果TRIX指标也是发出持股信号时,这种信号更加准确。此时,投资者应坚决持股待涨。

2、当布林线开口向下后,只要股价K线始终运行在布林线的中轨下方的时候,说明股价一直处在一个中长期下降轨道之中,这是BOLL指标发出的持币观望信号,如果TRIX指标也是发出持币信号时,这种信号更加准确。此时,投资者应坚决持币观望。

# bolling, including upper band and lower band
stockStat[['close','boll','boll_ub','boll_lb'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

9,RSI指标

http://wiki.mbalib.com/wiki/RSI 
相对强弱指标(Relative Strength Index,简称RSI),也称相对强弱指数、相对力度指数

6 days RSI 
stock[‘rsi_6’] 
12 days RSI 
stock[‘rsi_12’]

(2)强弱指标保持高于50表示为强势市场,反之低于50表示为弱势市场。 
(3)强弱指标多在70与30之间波动。当六日指标上升到达80时,表示股市已有超买现象,如果一旦继续上升,超过90以上时,则表示已到严重超买的警戒区,股价已形成头部,极可能在短期内反转回转。

(4)当六日强弱指标下降至20时,表示股市有超卖现象,如果一旦继续下降至10以下时则表示已到严重超卖区域,股价极可能有止跌回升的机会。

# 6 days RSI  12 days RSI
stockStat[['close','rsi_6','rsi_12'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

10,WR指标

​ 
http://wiki.mbalib.com/wiki/%E5%A8%81%E5%BB%89%E6%8C%87%E6%A0%87 
​ 
威廉指数(Williams%Rate)该指数是利用摆动点来度量市场的超买超卖现象。 
​ 
​ 
10 days WR 
stock[‘wr_10’] 
6 days WR 
stock[‘wr_6’]

# 10 days WR 6 days WR
stockStat[['close','wr_10','wr_6'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

11,CCI指标

http://wiki.mbalib.com/wiki/%E9%A1%BA%E5%8A%BF%E6%8C%87%E6%A0%87

  顺势指标又叫CCI指标,其英文全称为“Commodity Channel Index”, 
是由美国股市分析家唐纳德·蓝伯特(Donald Lambert)所创造的,是一种重点研判股价偏离度的股市分析工具。

CCI, default to 14 days 
stock[‘cci’] 
20 days CCI 
stock[‘cci_20’]

  1、当CCI指标从下向上突破﹢100线而进入非常态区间时,表明股价脱离常态而进入异常波动阶段, 
中短线应及时买入,如果有比较大的成交量配合,买入信号则更为可靠。

  2、当CCI指标从上向下突破﹣100线而进入另一个非常态区间时,表明股价的盘整阶段已经结束, 
将进入一个比较长的寻底过程,投资者应以持币观望为主。

#  CCI, default to 14 days  20 days CCI
stockStat[['close','cci','cci_20'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

12,TR、ATR指标

http://wiki.mbalib.com/wiki/%E5%9D%87%E5%B9%85%E6%8C%87%E6%A0%87 
均幅指标(Average True Ranger,ATR)

均幅指标(ATR)是取一定时间周期内的股价波动幅度的移动平均值,主要用于研判买卖时机。

TR (true range) 
stock[‘tr’] 
ATR (Average True Range) 
stock[‘atr’]

均幅指标无论是从下向上穿越移动平均线,还是从上向下穿越移动平均线时,都是一种研判信号。

#  ATR (Average True Range)
stockStat[['close','tr','atr'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

13,DMA指标

http://wiki.mbalib.com/wiki/DMA

 DMA指标(Different of Moving Average)又叫平行线差指标,是目前股市分析技术指标中的一种中短期指标,它常用于大盘指数和个股的研判。

DMA, difference of 10 and 50 moving average 
stock[‘dma’]

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78578548 
未经博主允许不得转载。 
博主地址是:http://blog.csdn.net/freewebsys

#   DMA, difference of 10 and 50 moving average
stockStat[['close','dma'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

14,DMI,+DI,-DI,DX,ADX,ADXR指标

http://wiki.mbalib.com/wiki/DMI

动向指数Directional Movement Index,DMI)

http://wiki.mbalib.com/wiki/ADX 
平均趋向指标(Average Directional Indicator,简称ADX)

http://wiki.mbalib.com/wiki/%E5%B9%B3%E5%9D%87%E6%96%B9%E5%90%91%E6%8C%87%E6%95%B0%E8%AF%84%E4%BC%B0

平均方向指数评估(ADXR)实际是今日ADX与前面某一日的ADX的平均值。ADXR在高位与ADX同步下滑,可以增加对ADX已经调头的尽早确认。 
ADXR是ADX的附属产品,只能发出一种辅助和肯定的讯号,并非入市的指标,而只需同时配合动向指标(DMI)的趋势才可作出买卖策略。 
在应用时,应以ADX为主,ADXR为辅。

DMI 
+DI, default to 14 days 
stock[‘pdi’] 
-DI, default to 14 days 
stock[‘mdi] 
DX, default to 14 days of +DI and -DI 
stock[‘dx’] 
ADX, 6 days SMA of DX, same as stock[‘dx_6_ema’] 
stock[‘adx] 
ADXR, 6 days SMA of ADX, same as stock[‘adx_6_ema’] 
stock[‘adxr’]

#   DMI,+DI,-DI,DX,ADX,ADXR
stockStat[['close','pdi','mdi','dx','adx','adxr'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

15,TRIX,MATRIX指标

http://wiki.mbalib.com/wiki/TRIX 
TRIX指标又叫三重指数平滑移动平均指标(Triple Exponentially Smoothed Average)

TRIX, default to 12 days 
stock[‘trix’] 
MATRIX is the simple moving average of TRIX 
stock[‘trix_9_sma’]

# TRIX  MATRIX  
stockStat[['close','trix','trix_9_sma'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

16,VR,MAVR指标

http://wiki.mbalib.com/wiki/%E6%88%90%E4%BA%A4%E9%87%8F%E6%AF%94%E7%8E%87

成交量比率(Volumn Ratio,VR)(简称VR),是一项通过分析股价上升日成交额(或成交量,下同)与股价下降日成交额比值, 
从而掌握市场买卖气势的中期技术指标。

VR, default to 26 days 
stock[‘vr’] 
MAVR is the simple moving average of VR 
stock[‘vr_6_sma’]

# TRIX  MATRIX  
stockStat[['close','vr','vr_6_sma'] #].plot(subplots=True,figsize=(20,10), grid=True)
plt.show()

计数count

使用 _c 计算数量,可以和其他的一起使用

#返回数量。
# close price less than 10.0 in 5 days count
print(stockStat['close_10.0_le_5_c'].tail())#返回 True False 可以作为是否购买结果。
# CR MA2 cross up CR MA1 in 20 days count
print(stockStat['cr-ma2_xu_cr-ma1_20_c'].tail()) 
date
2017-10-26    0.0
2017-10-27    0.0
2017-10-30    0.0
2017-10-31    0.0
2017-11-01    0.0
Name: close_10.0_le_5_c, dtype: float64
date
2017-10-26    False
2017-10-27    False
2017-10-30    False
2017-10-31    False
2017-11-01    False
Name: cr-ma2_xu_cr-ma1_20_c, dtype: bool

计算全部统计数据。

总结


本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78578548 
未经博主允许不得转载。 
博主地址是:http://blog.csdn.net/freewebsys

stockstats使用起来超级的方便。股票市场真的是个大熔炉,锻炼人。同时也要不断的学习。 
学习股票中的数据分析,是python 的stockstats 可以很轻松的做到。 
数据的分析报表的展示都非常容易。能够帮助股民快速的做出分析决策。 
不放弃股票中的机会。 
总之第一步先把这些数据计算出来。然后再做分析。

其他

计算全部统计数据。在 stockstats 里面有3个写错了,少分号啥的。

# volume delta against previous day
stockStat['volume_delta']# open delta against next 2 day
stockStat['open_2_d']# open price change (in percent) between today and the day before yesterday
# 'r' stands for rate.
stockStat['open_-2_r']# CR indicator, including 5, 10, 20 days moving average
stockStat['cr']
stockStat['cr-ma1']
stockStat['cr-ma2']
stockStat['cr-ma3']# volume max of three days ago, yesterday and two days later
stockStat['volume_-3,2,-1_max']# volume min between 3 days ago and tomorrow
stockStat['volume_-3~1_min']# KDJ, default to 9 days
stockStat['kdjk']
stockStat['kdjd']
stockStat['kdjj']# three days KDJK cross up 3 days KDJD
#stock['kdj_3_xu_kdjd_3'] 这个写错了。
stockStat['kdjk_3_xu_kdjd_3']# 2 days simple moving average on open price
stockStat['open_2_sma']# MACD
stockStat['macd']
# MACD signal line
stockStat['macds']
# MACD histogram
stockStat['macdh']# bolling, including upper band and lower band
stockStat['boll']
stockStat['boll_ub']
stockStat['boll_lb']# close price less than 10.0 in 5 days count
stockStat['close_10.0_le_5_c']# CR MA2 cross up CR MA1 in 20 days count
stockStat['cr-ma2_xu_cr-ma1_20_c']# 6 days RSI
stockStat['rsi_6']
# 12 days RSI
stockStat['rsi_12']# 10 days WR
stockStat['wr_10']
# 6 days WR
stockStat['wr_6']# CCI, default to 14 days
stockStat['cci']
# 20 days CCI
stockStat['cci_20']# TR (true range)
stockStat['tr']
# ATR (Average True Range)
stockStat['atr']# DMA, difference of 10 and 50 moving average
stockStat['dma']# DMI
# +DI, default to 14 days
stockStat['pdi']
# -DI, default to 14 days
stockStat['mdi'] #少了个单引号
# DX, default to 14 days of +DI and -DI
stockStat['dx']
# ADX, 6 days SMA of DX, same as stockStat['dx_6_ema']
stockStat['adx'] #少了个单引号
# ADXR, 6 days SMA of ADX, same as stockStat['adx_6_ema']
stockStat['adxr']# TRIX, default to 12 days
stockStat['trix']
# MATRIX is the simple moving average of TRIX
stockStat['trix_9_sma']# VR, default to 26 days
stockStat['vr']
# MAVR is the simple moving average of VR
stockStat['vr_6_sma']#[5 rows x 95 columns]
#print(stockStat.head())
print(stockStat.columns.values)
print(len(stockStat.columns.values))

打印出来全部的columns 信息。其中有些是临时的计算变量。

['open' 'high' 'close' 'low' 'volume' 'price_change' 'p_change' 'ma5''ma10' 'ma20' 'v_ma5' 'v_ma10' 'v_ma20' 'turnover' 'volume_delta'u'open_2_s' u'open_2_d' u'open_-2_r' u'middle' u'cr' u'cr-ma1' u'cr-ma2'u'cr-ma3' u'volume_-3_s' u'volume_-1_s' u'volume_2_s'u'volume_-3,2,-1_max' u'volume_-2_s' u'volume_0_s' u'volume_1_s'u'volume_-3~1_min' u'rsv_9' u'kdjk_9' u'kdjk' u'kdjd_9' u'kdjd' u'kdjj_9'u'kdjj' u'rsv_3' u'kdjk_3' u'kdjd_3' 'kdjk_3_xu_kdjd_3' u'open_2_sma'u'close_26_ema' u'macd' u'macds' u'macdh' u'close_20_sma' u'close_20_mstd'u'boll' u'boll_ub' u'boll_lb' u'close_10.0_le' u'close_10.0_le_5_c'u'cr-ma1_20_c' 'cr-ma2_xu_cr-ma1_20_c' u'close_-1_s' u'close_-1_d' u'rs_6'u'rsi_6' u'rs_12' u'rsi_12' u'wr_10' u'wr_6' u'middle_14_sma' u'cci'u'middle_20_sma' u'cci_20' u'tr' u'atr' u'close_10_sma' u'close_50_sma'u'dma' u'high_delta' u'um' u'low_delta' u'dm' u'pdm' u'pdm_14_ema'u'pdm_14' u'atr_14' u'pdi_14' u'pdi' u'mdm' u'mdm_14_ema' u'mdm_14'u'mdi_14' u'mdi' u'dx_14' u'dx' u'dx_6_ema' u'adx' u'adx_6_ema' u'adxr'u'trix' u'trix_9_sma' u'change' u'vr' u'vr_6_sma']
99

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ STL 学习笔记 3. 文本文件操作

本文主要总结了C中对文本文件的基本操作以及使用心得,第一部分中总结了C对文本文件的基本操作,第二部分中会以csv文件为例,进行读取存储由逗号分隔的字符串的操作。 1. 文本读取写入基础 要使用文件输入输出流,首先需要include相…

C# 调用python

1.C# 调用python 本质上是使用命令行运行python 1.1 C# 使用命令行 program.cs using System; using System.Diagnostics; using System.IO;namespace test {class Program{static void Main(string[] args){Program p new Program();string result p.run_cmd("ping…

python pandas serie简介及基本使用

本篇文章主要罗列了pandas模块中serie的基本使用。环境是jupyter notebook python 3.7。 serie是能够保存任何类型数据的一维数组,轴标签统称为索引,索引必须是唯一的散列且与数据的长度相同,默认情况下为np.arange(n)。 首先是import pand…

python pandas dataframe基本使用整理

dataframe是一种表格型的数据存储结构,可以看作是几个serie的集合。dataframe既有行索引,也有列索引。 以下代码环境为google colab/jupyter notebook。 接下来就对dataframe的基本使用进行整理。 dataframe也从属于pandas模块,因此还是老规矩…

常见开源分布式存储系统

对比说明 /文件系统 TFS FastDFS MogileFS MooseFS GlusterFS Ceph 开发语言 C C Perl C C C 开源协议 GPL V2 GPL V3 GPL GPL V3 GPL V3 LGPL 数据存储方式 块 文件/Trunk 文件 块 文件/块 对象/文件/块 集群节点通信协议 私有协议(T…

机器学习理论梳理1: PCA主成分分析

机器学习的理论部分学习知识点比较乱且杂。我这里通过几篇文章,简单总结一下自己对机器学习理论的理解,以防遗忘。第一篇文章主要概述了机器学习的基本任务以及一个常用的降维方法,主成分分析。 机器学习的基本任务 机器学习能实现许多不同…

NLP基础 : HMM 隐马尔可夫模型

Hidden Markov Model, HMM 隐马尔可夫模型,是一种描述隐性变量(状态)和显性变量(观测状态)之间关系的模型。该模型遵循两个假设,隐性状态i只取决于前一个隐性状态i-1,而与其他先前的隐形状态无关。观测状态也只取决于当前的隐形状态。因此我们…

关于秒杀系统优化方向

今天听了一节咕泡学院的公开课,有收获。 秒杀系统的特点: 1.限时;2.限量供应;3.并发量大;如何优化: 1.客户端数据缓存。 2.CDN加速。 3.nginx动静分离,静态资源缓存,负载均衡。 4.se…

RUNOOB python练习题1

用来练手的python 练习题,原链接 : python练习实例1 题干 : 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? import numpy as np cen np.array([1,2,3,4]) tens np.array([1,2,3,4])…

MySQL 亿级数据需求的优化思路(一),交易流水记录的查询

对MySQL的性能和亿级数据的处理方法思考,以及分库分表到底该如何做,在什么场景比较合适? 比如银行交易流水记录的查询 限盐少许,上实际实验过程,以下是在实验的过程中做一些操作,以及踩过的一些坑&#…

RUNOOB python练习题2

用来练手的python 练习题,原链接 : python练习实例2 题干 : 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的…

MySQL 亿级数据需求的优化思路(二),100亿数据,1万字段属性的秒级检索

最近在研究亿级数据的时候,无意中看到了一个关于写58同城的文章 https://blog.csdn.net/admin1973/article/details/55251499?fromtimeline 其实上面讲的versionext的方式以及压缩json的思路,对于我来讲都可以看得懂,想得通,其…

RUNOOB python练习题3

用来练手的python 练习题,原链接 : python练习实例3 拿到题目就写了如下代码,思路是因为使用**0.5进行开平方操作时,python会将数据类型自动转换为float单精度浮点型。这里利用提取其整数部分,来判断这个数是否是完全平方数。 z…

使用git将项目上传到github(最简单方法)

使用git将项目上传到github(最简单方法) 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可&#xff1…

RUNOOB python练习题4

用来练手的python习题其四, 原题链接: python练习实例4 题干: 输入某年某月某日,判断这一天是这一年的第几天? 这个题目比较简单,只需要注意闰年和非闰年的区别就可以了。我这里使用numpy矩阵存储每个月的天数,之后用…

GitHub入门:如何上传与下载工程?

由于经常要在家写代码,所以需要有个能够方便访问代码管理工具。最近尝试了一下GitHub。经过了一翻纠结之后,基本上掌握了他的使用方式。 要使用GitHub需要首先在其网站上进行注册。其官方网站是https://github.com/。注册的流程在这里就不多少了&#x…

如何解决PIP命令不可用

今天想用PIP装一个python包,发现PIP报错,不是内部或外部命令。。。 遇事百度,有两种说法,一,没安装包,不管那么多命令执行了再说 在命令行输入:python -m ensurepip 将pip.exe文件下载下来 再pi…

RUNOOB python练习题5

用来练手的python 练习题其五,原链接 : python练习实例5 题干 : 输入三个整数x,y,z,请把这三个数由小到大输出。 又是非常简单的排序算法,只要使用numpy矩阵的排序方法或者使用python list的排序算法就可以轻松解决。 源代码如下 : import …

初步使用github,并上传下载文件

使用GitHub需要先注册GitHub的账号,登陆进去 然后开始创建项目 start a project 创建完成,开始生成公私钥,可以不必每次都要输密码 ssh-keygen -t rsa -C "mghxy123163.com" //填写email地址,然后一直“回车”ok 然后把公钥导入GitHub中的key里面去,也…

NOIP2000提高组复赛C 单词接龙

题目链接:https://ac.nowcoder.com/acm/contest/248/C 题目大意: 略 分析: 注意点:1.前缀和后缀的公共部分应该选最短的。2.如果两个字符串前缀和后缀的公共部分恰好是其中一个字符串,那么这两个字符串不能合并。 代码…