0%

1. 股票发行价格

国际市场上确定股票发行价格的参考公式是:
股票发行价格=市盈率还原值×40%+股息还原率×20%+每股净值×20%+预计当年股息与一年期存款利率还原值×20%

这个公式全面地考虑了影响股票发行价格的若干因素, 如利率, 股息, 流通市场的股票价格等, 值得借鉴.
股票在流通市场上的价格, 才是完全意义上的股票的市场价格, 一般称为股票市价或股票行市. 股票市价表现为开盘价, 收盘价, 最高价, 最低价等形式.
其中收盘价最重要, 是解析股市行情时采用的基本数据.

2. 股票理论价格

股票代表的是持有者的股东权. 这种股东权的直接经济利益, 表现为股息, 红利收入. 股票的理论价格, 就是为获得这种股息, 红利收入的请求权而付出的代价, 是股息资本化的表现.

静态地看, 股息收入与利息收入具备同样的意义. 投入者是把资金投入于股票还是存于银行, 这首先取决于哪一种投入的收益率高. 按照等量资本获得等量收入的理论, 如果股息率高于利息率, 人们对股票的需求就会增加, 股票价格就会上涨, 从而股息率就会下降, 一直降到股息率与市场利率大体一致为止. 按照这种解析, 可以得出股票的理论价格公式为:

股票价格=股息/利息率
股票理论价格=股息红利收益/市场利率

3. 股票价格的偏向性特征

3.1. 定义

股票价格的偏向性特征指股票价格总体上具备不断向上增长的长期历史趋势, 这是基金长期投入能够赢利的重要理论依据.

3.2. 影响因素

影响因素

股市价格波动的偏向型特征, 紧要受以下两个因素影响:

上市企业整体中最活跃的处于生命周期上升阶段企业的股价波动, 是偏向性的紧要推动力.
上述推动历程中以 接力方式形成的不断接替的动力.

股票价格波动的偏向性是以大量企业在激烈的市场竞争中被淘汰为代价而获得的. 不理解这一点, 投入者就很容易简单地从股价波动的偏向性特征中直接推导出简单地长期持有的股票投入战略. 如果没有相应的投入危机分散化的资金经营管理措施, 股价波动的偏向性并不能保证投入者获得满意的投入回报.

股利的多少, 取决于每股盈利和股利支付率两个因素. 对其估计的方式是历史资料的统计解析, 例如回归解析, 时间序列解析法及趋势解析法等. 股票评价的基本模型要求无限期的预计历年的股利, 实际上是不可能做到的. 因此, 应用的模型都是各种简化的办法, 如假设每年股利相同或固定比率增长等. 贴现率的紧要作用是把所有未来区别时间的现金流入折算为现在的价值. 折算现值的比率应当使投入者所要求的收益率. 那么, 投入者要求的收益率应当是多少呢?一种办法是股票历史上长期的收益率来确定. 据计算, 美国普通股在历史上长期的收益率为8%-9%. 这种方式的缺点是: 过去的状况未必是和将来的进展; 历史上区别时期的收益率高低区别, 不好判断那一个更适用.
另一种方式是参照债券的收益率, 加上一定的危机报酬率来确定. 还有一种更常见的方式是直接使用市场利率. 因为投入者要求的收益率一般不低于市场利率, 市场利率是投入与股票的机会成本, 所以市场利率可以作为贴现率. 假设未来股利不变, 其支付历程是一个永续年金,则股票的价值可用公式计算出来; 但是企业的股利不是固定不变的, 假设股利每年按照固定的比率增长, 其股票的价值也可以用公式计算出来.

理论上的股票价值评价方式是完美的, 无懈可击的. 但是, 在实践应用时它有一个致命的缺陷: 它的结论是建立在严格的假设之上的, 即我们假定所有年度的股利都是能够准确预测的, 然后通过对股利的贴现计算出股票的价值. 存现实经济生活中, 这是完全不可能做到的, 我们不可能准确预计五年后一个企业能获得多少利润, 更不可能预计遥远未来的某一年那个企业的年度利润, 甚至我们都无法确定到那时这个企业还是否存在.

既然事实上股票价值难以用不可把握的未来预期股利来计算, 那么究竟股票的价值是以什么为根据的?广大投入者是怎样确定股票的价值的?根据有效市场理论, 在证券市场上, 广大理性的投入者是根据对股票价值的无偏估计来确定股票价格的. 投入者估计股票价值的依据就是基干对企业目前业绩的全面评价, 有关信息的来源紧要是上市企业公开发布的财务报表及与该企业有关的其它资料. 也就是说, 投入者对股票价值的判断即使是以将来预期的收益为理论根据的, 这个预期的收益也是以企业目前已经公布的财务资料为基础的.

基于这样一个判断, 我们可以试图找出股票价值同财务数据之间的数量关系. 如果能够把股票价值同公开的财务数据之间的关系定量地表示出来, 那么广大的投入者就有了一个简便易行的方式来确定股票的价值, 进而也有了一个科学的评价上市企业企业业绩的方式, 同时, 推而广之, 这个定量方式也可以用来评价非上市企业业的业绩. 这样, 我们就有了一个简便易行, 科学有效的可适用于所有企业的业绩评价方式.

4. 影响股票价格的因素

股票的市场价格由股票的价值所决定, 但同时受许多其他因素的影响. 一般地看, 影响股票市场价格的因素紧要有以下几个方面:

1.宏观因素

包含对股票市场价格可能产生影响的社会, 政治, 经济, 文化等方面.

A.宏观经济因素. 即宏观经济环境状况及其变动对股票市场价格的影响, 包含宏观经济运行的周期性波动等规律性因素和政府实施的经济政策等政策性因素. 股票市场是整个金融市场体系的重要组成部分, 上市企业是宏观经济运行微观基础中的重要主体, 因此股票市场的股票价格理所当然地会随宏观经济运行状况的变动而变动, 会因宏观经济政策的调整而调整. 例如, 一般地讲, 股票价格会随国民出产总值的升降而涨落.

B.政治因素. 即影响股票市场价格变动的政治事件. 一国的政局是否稳定对股票市场有着直接的影响. 一般而言, 政局稳定则股票市场稳定运行; 相反, 政局不稳则常常引起股票市场价格下跌. 除此之外, 国家的首脑更换, 罢工, 紧要产油国的动乱等也对股票市场有重大影响.

C.法律因素. 即一国的法律特别是股票市场的法律规范状况. 一般来说, 法律不健全的股票市场更具备投机性, 震荡剧烈, 涨跌无序, 人为操纵成分大, 不正当交易较多; 反之, 法律法规体系比较完善, 制度和监管机制比较健全的股票市场, 证券从业人员营私舞弊的机会较少, 股票价格受人为操纵的状况也较少, 因而表现得相对稳定和正常. 总体上说, 新兴的股票市场往往不够规范, 而成熟的股票市场法律法规体系则比较健全.

D.军事因素. 紧要是指 军事冲突. 军事冲突是一国国内或国与国之间, 国际利益集团与国际利益集团之间的矛盾进展到不可以采取政治手段来解决的程度的结果. 军事冲突小则造成一个国家内部或一个地区的社会经济生活的动荡, 大则打破正常的国际秩序. 它使股票市场的正常交易遭到破坏, 因而必然导致相关的股票价格的剧烈动荡. 例如, 海湾战争之初, 世界紧要股市均呈下跌之势, 而且随着战局的不断变化, 股市均大幅振荡.

E.文化, 自然因素. 就文化因素而言, 一个国家的文化传统往往在很大程度上决定着人们的储蓄和投入心理, 从而影响股票市场资金流入流出的格局, 进而影响股票市场价格; 证券投入者的文化素质状况则从投入决策的角度影响着股票市场. 一般地, 文化素质较高的证券投入者在投入时相对较为理性, 如果证券投入者的整体文化素质较高, 则股票市场价格相对比较稳定; 相反, 如果证券投入者的整体文化素质偏低, 则股票市场价格容易出现暴涨暴跌. 在自然方面, 如发生自然灾害, 出产经营就会受到影响, 从而导致有关股票价格下跌; 反之, 如进入恢复重建阶段, 由于投入大量增加, 对相关物品的需求也大量增加, 从而导致相关股票价格的上升.

2.产业和区域因素

紧要是指产业进展前景和区域经济进展状况对股票市场价格的影响. 它是介于宏观和微观之间的一种中观影响因素, 因而它对股票市场价格的影响紧要是结构性的.

A.在产业方面, 每一种产业都会经历一个由成长到衰退的进展历程, 这个历程称为产业的生命周期. 产业的生命周期通常分为四个阶段, 即初创期, 成长期, 稳定期, 衰退期. 处于区别进展阶段的产业在经营状况及进展前景方面有较大差异, 这必然会反映在股票价格上. 蒸蒸日上的产业股票价格呈上升趋势, 日见衰落的产业股票价格则逐渐下落.

B.在区域方面, 由于区域经济进展状况, 区域对外交通与信息沟通的便利程度, 区域内的投入活跃程度等的区别, 分属于各区域的股票价格自然也会存在差异, 即便是相同产业的股票也是如此. 经济进展较快, 交通便利, 信息化程度高的地区, 投入活跃, 股票投入有较好的预期; 相反, 经济进展迟缓, 交通不便, 信息闭塞的地区, 其股票价格总体上呈平淡下跌趋势.

3.企业因素

即上市企业的运营对股票价格的影响. 上市企业是发行股票筹集资金的运用者, 也是资金使用的投入收益的实现者, 因而其经营状况的好坏对股票价格的影响极大. 而其经营管理水平, 科技开发能力, 产业内的竞争实力与竞争地位, 财务状况等无不关系着其运营状况, 因而从各个区别的方面影响着股票的市场价格. 由于产权边界明确, 企业因素一般只对本企业的股票市场价格产生深刻的影响, 是一种典型的微观影响因素.

4.市场因素

即影响股票市场价格的各种股票市场操作. 例如, 看涨与看跌, 买空与卖空, 追涨与杀跌, 获利平仓与解套或割肉等行为, 不规范的股票市场中还存在诸如分仓, 串谋, 轮炒等违法违规操纵股票市场的操作行为. 一般而言, 如果股票市场的做多行为多于做空行为, 则股票价格上涨; 反之, 如果做空行为占上风, 则股票价格趋于下跌. 由于各种股票市场操作行为紧要是短期行为, 因而市场因素对股票市场价格的影响具备明显的短期性质.

在以上影响股票市场价格的诸多因素中, 宏观因素, 产业和区域因素及企业因素紧要是通过影响股票发行主体即企业的经营状况和进展前景来影响股票市场价格, 它们在股票市场之外, 因而被称为基本因素. 基本因素的变动形成了股票市场价格变动的紧要利多题材和利空依据. 市场因素则紧要是通过投入者的买卖操作来影响股票市场价格, 它存在于股票市场内部, 与基本因素没有直接的关联, 因而被称为技术因素. 技术因素是技术解析的对象.

#股票价格解析方式

股票价格解析的方式很多,其中紧要的是基本解析法, 也称为基本面解析方式. 基本解析法就是利用丰富的统计资料, 运用多种多样的经济指标, 采用比例, 动态的解析方式从研究宏观的经济大气候开始, 逐步开始中观的行业兴衰解析, 进而根据微观的企业经营, 盈利的现状和前景, 从中对企业所发行的股票作出接近显示现实的客观的评价, 并尽可能预测其未来的变化, 作为投入者选购的依据. 由于它具备比较系统的理论, 受到学者们的鼓吹, 成为股价解析的主流.

基本解析法是准备做长线交易的股民以及 业余股民所应采取的最紧要, 也是最重要的解析方式. 因为这种解析方式是从解析股票的内在价值来入手的, 而把对股票市场的大环境的解析结果摆在次位, 看好一支股票时, 看中的是它的内在潜力与长期进展的良好前景, 所以当我们采用这种解析法来实行完预测解析并在适当的时机购入了具体的股票后, 就可不必耗费太多的时间与精力去关心股票价格的实时走势了.

5. Resource

1. 初始化 root 用户密码

lang=shell
1
sudo passwd

2. 用 root 账户修改其他用户密码

1
2
# 修改 raven 用户的密码
passwd raven

1. 桌面系统分区

Dir Desc Size
/tmp 临时文件 2G
/home 用户目录 Max
/usr 软件 20G
/ 跟目录 10G
/var 系统日志 20G
/opt 企业级软件 10G
/data 企业应用数据 | 20G

2. 制作 U 盘启动盘

Debian 官网会打包 3 个 DVD镜像, 只有第一个镜像制作成 U 盘启动盘, 才能被开机启动时引导, 其他 2 个都不行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 1. 插入 U 盘, 查找确定 U 盘位置, 通常在如 `/dev/sdX` 的位置
sudo fdisk -l
# osx: diskutil list

# 2. 卸载 U 盘
sudo umount /dev/sdb
# osx: diskutil unmountDisk /dev/disk2

# 3. 格式化 U 盘
# -l 是强制执行, 如果没有, 则会提示 `partition not foun`
sudo mkfs.vfat -F 32 -l /dev/sdb
# osx: Disk Utility / View / show all Devices, 之后格式化成 ExFat, 分区类型选择 GUID

# 4. 将镜像写入 U 盘
# bs 是写入速度, 默认是 512 K
dd if=ubuntu-16.0.3-desktop-amd64.iso of=/dev/sdb bs=4m

# 5. 重启机器后安装

3. 格式化 U 盘

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

# 1. 插入 U 盘, 查找确定 U 盘位置, 通常在如 `/dev/sdb` 的位置
sudo fdisk -l

# 2. 卸载 U 盘
umount /dev/sdb

# 3. 格式化 U 盘
# 格式化为 FAT 分区
sudo mkfs.fat /dev/sdb -I
sudo mkfs.fat -F32 -v -l -n " " /dev/sdb
sudo mkfs.vfat -F 32 /dev/sdb

# 格式化为 NTFS 分区, 先要安装ntfsprogs
sudo apt-get install ntfsprogs
sudo mkfs.ntfs /dev/sdb
sudo mkfs.ntfs -Q -v -F -L "" /dev/sdb

# 格式化为ext4/3/2
sudo mkfs.ext4 /dev/sdb # 格式化为ext4分区
sudo mkfs.ext3 /dev/sdb # 格式化为ext3分区
sudo mkfs.ext2 /dev/sdb # 格式化为ext2分区

# 由于ext系列的分区都有一个给super user的保留空间, 必须占用一定的百分比, 默认5%, 这么一来格式化容量小的分区还不觉得, 5%也没多少, 但是如果是几百G, 1T的分区就会有问题, in this case, 5%可是不小的数目啊!
sudo mkfs.ext3 -m 0.05 /dev/sda1
# 注意-m后的参数, 设定的已经是百分位, 这里设定为0.05, 是0.05%, 也就是万分之5!

sudo fdisks -l

基本功, 格式化命令, 以格式化 /dev/sdb4 分区为例:
sudo umount /dev/sdb4 # 必须先卸载该分区

# 格式化为 FAT 分区
sudo mkfs.vfat -F 32 /dev/sdb4 # -F 参数必须大写, 参数有 12, 16 和 32, 分别对应 FAT12, FAT16, FAT32.

# 格式化为 NTFS 分区, 先要安装ntfsprogs, 以 Ubuntu / Debian 为例:
sudo apt-get install ntfsprogs

#然后执行格式化命令, 以格式化 /dev/sda1 分区为例:
sudo umount /dev/sda1 # 必须先卸载该分区
sudo mkfs.ntfs /dev/sda1 # 格式化为ntfs速度有点慢.

# 格式化为ext4/3/2 , 以格式化 /dev/sda1 分区为例:
sudo umount /dev/sda1 # 必须先卸载该分区
sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区
sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区
sudo mkfs.ext2 /dev/sda1 # 格式化为ext2分区

4. Ubuntu 安装

需要将引导模式改为 legacy, UEFI 会导致提示 vfat 到 /boot/efi 上失败

安装ab工具

yum install httpd-tools

参数说明

-n: 执行的请求个数, 默认时执行一个请求

-c: 一次产生的请求个数, 即并发个数

-p:模拟post请求, 文件格式为gid=2&status=1,配合-T使用

-T:post数据所使用的Content-Type头信息, 如果-T ‘application/x-www-form-urlencoded’

1.模拟get请求
直接在url后面带参数即可

ab -c 10 -n 10 http://www.test.api.com/?gid=2

2.模拟post请求

在当前目录下创建一个文件post.txt

编辑文件post.txt写入

cid=4&status=1

相当于post传递cid,status参数

ab -n 100 -c 10 -p ‘post.txt’ -T ‘application/x-www-form-urlencoded’ ‘http://test.api.com/ttk/auth/info/

whiptail
dialog

whiptail 是替代 dialog 的实现,它基于 newt 库.而 newt 则是为了简化 ncurses 开发而产生的新的 tty 下的UI库.

https://www.jianshu.com/p/588076fb36de

CMD DESC
APPEND key value 追加一个值到key上
AUTH password 验证服务器命令
BGREWRITEAOF 异步重写追加文件命令
BGSAVE 异步保存数据集到磁盘上
BITCOUNT key [start end] 统计字符串指定起始位置的字节数
BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP SAT
BITOP operation destkey key [key …] Perform bitwise operations between strings
BITPOS key bit [start] [end] Find first bit set or clear in a string
BLPOP key [key …] timeout 删除, 并获得该列表中的第一元素, 或阻塞, 直到有一个可用
BRPOP key [key …] timeout 删除, 并获得该列表中的最后一个元素, 或阻塞, 直到有一个可用
BRPOPLPUSH source destination timeout 弹出一个列表的值, 将它推到另一个列表, 并返回它;或阻塞, 直到有一个可用
BZPOPMAX key [key …] timeout Remove and return the member with the highest score from one or more sorted sets, or block until one is available
BZPOPMIN key [key …] timeout Remove and return the member with the lowest score from one or more sorted sets, or block until one is available
CLIENT KILL [ip:port] [ID client-id] [TYPE normal slave
CLIENT LIST 获得客户端连接列表
CLIENT GETNAME 获得当前连接名称
CLIENT ID Returns the client ID for the current connection
CLIENT PAUSE timeout 暂停处理客户端命令
CLIENT REPLY ON OFF
CLIENT SETNAME connection-name 设置当前连接的名字
CLIENT UNBLOCK client-id [TIMEOUT ERROR]
CLUSTER ADDSLOTS slot [slot …] Assign new hash slots to receiving node
CLUSTER COUNT-FAILURE-REPORTS node-id Return the number of failure reports active for a given node
CLUSTER COUNTKEYSINSLOT slot Return the number of local keys in the specified hash slot
CLUSTER DELSLOTS slot [slot …] Set hash slots as unbound in receiving node
CLUSTER FAILOVER [FORCE TAKEOVER]
CLUSTER FORGET node-id Remove a node from the nodes table
CLUSTER GETKEYSINSLOT slot count Return local key names in the specified hash slot
CLUSTER INFO Provides info about Redis Cluster node state
CLUSTER KEYSLOT key Returns the hash slot of the specified key
CLUSTER MEET ip port Force a node cluster to handshake with another node
CLUSTER NODES Get Cluster config for the node
CLUSTER REPLICAS node-id List replica nodes of the specified master node
CLUSTER REPLICATE node-id Reconfigure a node as a slave of the specified master node
CLUSTER RESET [HARD SOFT]
CLUSTER SAVECONFIG Forces the node to save cluster state on disk
CLUSTER SET-CONFIG-EPOCH config-epoch Set the configuration epoch in a new node
CLUSTER SETSLOT slot IMPORTING MIGRATING
CLUSTER SLAVES node-id List slave nodes of the specified master node
CLUSTER SLOTS Get array of Cluster slot to node mappings
COMMAND Get array of Redis command details
COMMAND COUNT Get total number of Redis commands
COMMAND GETKEYS Extract keys given a full Redis command
COMMAND INFO command-name [command-name …] Get array of specific Redis command details
CONFIG GET parameter 获取配置参数的值
CONFIG REWRITE 从写内存中的配置文件
CONFIG SET parameter value 设置配置文件
CONFIG RESETSTAT 复位再分配使用info命令报告的统计
DBSIZE 返回当前数据库里面的keys数量
DEBUG OBJECT key 获取一个key的debug信息
DEBUG SEGFAULT 使服务器崩溃命令
DECR key 整数原子减1
DECRBY key decrement 原子减指定的整数
DEL key [key …] 删除指定的key (一个或多个)
DISCARD 丢弃所有 MULTI 之后发的命令
DUMP key 导出key的值
ECHO message 回显输入的字符串
EVAL script numkeys key [key …] arg [arg …] 在服务器端执行 LUA 脚本
EVALSHA sha1 numkeys key [key …] arg [arg …] 在服务器端执行 LUA 脚本
EXEC 执行所有 MULTI 之后发的命令
EXISTS key [key …] 查询一个key是否存在
EXPIRE key seconds 设置一个key的过期的秒数
EXPIREAT key timestamp 设置一个UNIX时间戳的过期时间
FLUSHALL 清空所有数据库命令
FLUSHDB 清空当前的数据库命令
GEOADD key longitude latitude member [longitude latitude member …] 添加一个或多个地理空间位置到sorted set
GEOHASH key member [member …] 返回一个标准的地理空间的Geohash字符串
GEOPOS key member [member …] 返回地理空间的经纬度
GEODIST key member1 member2 [unit] 返回两个地理空间之间的距离
GEORADIUS key longitude latitude radius m km
GEORADIUSBYMEMBER key member radius m km
GET key 返回key的value
GETBIT key offset 返回位的值存储在关键的字符串值的偏移量.
GETRANGE key start end 获取存储在key上的值的一个子字符串
GETSET key value 设置一个key的value, 并获取设置前的值
HDEL key field [field …] 删除一个或多个Hash的field
HEXISTS key field 判断field是否存在于hash中
HGET key field 获取hash中field的值
HGETALL key 从hash中读取全部的域和值
HINCRBY key field increment 将hash中指定域的值增加给定的数字
HINCRBYFLOAT key field increment 将hash中指定域的值增加给定的浮点数
HKEYS key 获取hash的所有字段
HLEN key 获取hash里所有字段的数量
HMGET key field [field …] 获取hash里面指定字段的值
HMSET key field value [field value …] 设置hash字段值
HSET key field value 设置hash里面一个字段的值
HSETNX key field value 设置hash的一个字段, 只有当这个字段不存在时有效
HSTRLEN key field 获取hash里面指定field的长度
HVALS key 获得hash的所有值
INCR key 执行原子加1操作
INCRBY key increment 执行原子增加一个整数
INCRBYFLOAT key increment 执行原子增加一个浮点数
INFO [section] 获得服务器的详细信息
KEYS pattern 查找所有匹配给定的模式的键
LASTSAVE 获得最后一次同步磁盘的时间
LINDEX key index 获取一个元素, 通过其索引列表
LINSERT key BEFORE AFTER pivot value
LLEN key 获得队列(List)的长度
LPOP key 从队列的左边出队一个元素
LPUSH key value [value …] 从队列的左边入队一个或多个元素
LPUSHX key value 当队列存在时, 从队到左边入队一个元素
LRANGE key start stop 从列表中获取指定返回的元素
LREM key count value 从列表中删除元素
LSET key index value 设置队列里面一个元素的值
LTRIM key start stop 修剪到指定范围内的清单
MEMORY DOCTOR Outputs memory problems report
MEMORY HELP Show helpful text about the different subcommands
MEMORY-MALLOC-STATS Show allocator internal stats
MEMORY-PURGE Ask the allocator to release memory
MEMORY-STATS Show memory usage details
MEMORY-USAGE key [SAMPLES count] Estimate the memory usage of a key
MGET key [key …] 获得所有key的值
MIGRATE host port key destination-db timeout [COPY] [REPLACE] 原子性的将key从redis的一个实例移到另一个实例
MONITOR 实时监控服务器
MOVE key db 移动一个key到另一个数据库
MSET key value [key value …] 设置多个key value
MSETNX key value [key value …] 设置多个key value,仅当key存在时
MULTI 标记一个事务块开始
OBJECT subcommand [arguments [arguments …]] 检查内部的再分配对象
PERSIST key 移除key的过期时间
PEXPIRE key milliseconds 设置key的有效时间以毫秒为单位
PEXPIREAT key milliseconds-timestamp 设置key的到期UNIX时间戳以毫秒为单位
PFADD key element [element …] 将指定元素添加到HyperLogLog
PFCOUNT key [key …] Return the approximated cardinality of the set(s) observed by the HyperLogLog at key(s).
PFMERGE destkey sourcekey [sourcekey …] Merge N different HyperLogLogs into a single one.
PING Ping 服务器
PSETEX key milliseconds value Set the value and expiration in milliseconds of a key
PSUBSCRIBE pattern [pattern …] Listen for messages published to channels matching the given patterns
PUBSUB subcommand [argument [argument …]] Inspect the state of the Pub/Sub subsystem
PTTL key 获取key的有效毫秒数
PUBLISH channel message 发布一条消息到频道
PUNSUBSCRIBE [pattern [pattern …]] 停止发布到匹配给定模式的渠道的消息听
QUIT 关闭连接, 退出
RANDOMKEY 返回一个随机的key
READONLY Enables read queries for a connection to a cluster slave node
READWRITE Disables read queries for a connection to a cluster slave node
RENAME key newkey 将一个key重命名
RENAMENX key newkey 重命名一个key,新的key必须是不存在的key
REPLICAOF host port Make the server a replica of another instance, or promote it as master.
RESTORE key ttl serialized-value [REPLACE] Create a key using the provided serialized value, previously obtained using DUMP.
ROLE Return the role of the instance in the context of replication
RPOP key 从队列的右边出队一个元
RPOPLPUSH source destination 删除列表中的最后一个元素, 将其追加到另一个列表
RPUSH key value [value …] 从队列的右边入队一个元素
RPUSHX key value 从队列的右边入队一个元素, 仅队列存在时有效
SADD key member [member …] 添加一个或者多个元素到集合(set)里
SAVE 同步数据到磁盘上
SCARD key 获取集合里面的元素数量
SCRIPT DEBUG YES SYNC
SCRIPT EXISTS script [script …] Check existence of scripts in the script cache.
SCRIPT FLUSH 删除服务器缓存中所有Lua脚本.
SCRIPT KILL 杀死当前正在运行的 Lua 脚本.
SCRIPT LOAD script 从服务器缓存中装载一个Lua脚本.
SDIFF key [key …] 获得队列不存在的元素
SDIFFSTORE destination key [key …] 获得队列不存在的元素, 并存储在一个关键的结果集
SELECT index 选择新数据库
SET key value [EX seconds] [PX milliseconds] [NX XX]
SETBIT key offset value Sets or clears the bit at offset in the string value stored at key
SETEX key seconds value 设置key-value并设置过期时间 (单位: 秒)
SETNX key value 设置的一个关键的价值, 只有当该键不存在
SETRANGE key offset value Overwrite part of a string at key starting at the specified offset
SHUTDOWN [NOSAVE] [SAVE] 关闭服务
SINTER key [key …] 获得两个集合的交集
SINTERSTORE destination key [key …] 获得两个集合的交集, 并存储在一个关键的结果集
SISMEMBER key member 确定一个给定的值是一个集合的成员
SLAVEOF host port 指定当前服务器的主服务器
SLOWLOG subcommand [argument] 管理再分配的慢查询日志
SMEMBERS key 获取集合里面的所有元素
SMOVE source destination member 移动集合里面的一个元素到另一个集合
SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern …]] [ASC DESC] [ALPHA] [STORE destination]
SPOP key [count] 删除并获取一个集合里面的元素
SRANDMEMBER key [count] 从集合里面随机获取一个元素
SREM key member [member …] 从集合里删除一个或多个元素
STRLEN key 获取指定key值的长度
SUBSCRIBE channel [channel …] 监听频道发布的消息
SUNION key [key …] 添加多个set元素
SUNIONSTORE destination key [key …] 合并set元素, 并将结果存入新的set里面
SWAPDB index index Swaps two Redis databases
SYNC 用于复制的内部命令
TIME 返回当前服务器时间
TOUCH key [key …] Alters the last access time of a key(s). Returns the number of existing keys specified.
TTL key 获取key的有效时间 (单位: 秒)
TYPE key 获取key的存储类型
UNLINK key [key …] Delete a key asynchronously in another thread. Otherwise it is just as DEL, but non blocking.
UNSUBSCRIBE [channel [channel …]] 停止频道监听
UNWATCH 取消事务命令
WAIT numslaves timeout Wait for the synchronous replication of all the write commands sent in the context of the current connection
WATCH key [key …] 锁定key直到执行了 MULTI/EXEC 命令
XACK key group ID [ID …] Marks a pending message as correctly processed, effectively removing it from the pending entries list of the consumer group. Return value of the command is the number of messages successfully acknowledged, that is, the IDs we were actually able to resolve in the PEL.
XADD key ID field string [field string …] Appends a new entry to a stream
XCLAIM key group consumer min-idle-time ID [ID …] [IDLE ms] [TIME ms-unix-time] [RETRYCOUNT count] [FORCE] [JUSTID] Changes (or acquires) ownership of a message in a consumer group, as if the message was delivered to the specified consumer.
XDEL key ID [ID …] Removes the specified entries from the stream. Returns the number of items actually deleted, that may be different from the number of IDs passed in case certain IDs do not exist.
XGROUP [CREATE key groupname id-or-][SETIDkeyidor] [SETID key id-or-] [DESTROY key groupname] [DELCONSUMER key groupname consumername] Create, destroy, and manage consumer groups.
XINFO [CONSUMERS key groupname] [GROUPS key] [STREAM key] [HELP] Get information on streams and consumer groups
XLEN key Return the number of entires in a stream
XPENDING key group [start end count] [consumer] Return information and entries from a stream consumer group pending entries list, that are messages fetched but never acknowledged.
XRANGE key start end [COUNT count] Return a range of elements in a stream, with IDs matching the specified IDs interval
XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key …] ID [ID …] Return never seen elements in multiple streams, with IDs greater than the ones reported by the caller for each stream. Can block.
XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] STREAMS key [key …] ID [ID …] Return new entries from a stream using a consumer group, or access the history of the pending entries for a given consumer. Can block.
XREVRANGE key end start [COUNT count] Return a range of elements in a stream, with IDs matching the specified IDs interval, in reverse order (from greater to smaller IDs) compared to XRANGE
XTRIM key MAXLEN [~] count Trims the stream to (approximately if ‘~’ is passed) a certain size
ZADD key [NX XX] [CH] [INCR] score member [score member …]
ZCARD key 获取一个排序的集合中的成员数量
ZCOUNT key min max 返回分数范围内的成员数量
ZINCRBY key increment member 增量的一名成员在排序设置的评分
ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM MIN
ZLEXCOUNT key min max 返回成员之间的成员数量
ZPOPMAX key [count] Remove and return members with the highest scores in a sorted set
ZPOPMIN key [count] Remove and return members with the lowest scores in a sorted set
ZRANGE key start stop [WITHSCORES] 根据指定的index返回, 返回sorted set的成员列表
ZRANGEBYLEX key min max [LIMIT offset count] 返回指定成员区间内的成员, 按字典正序排列, 分数必须相同.
ZREVRANGEBYLEX key max min [LIMIT offset count] 返回指定成员区间内的成员, 按字典倒序排列, 分数必须相同
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回有序集合中指定分数区间内的成员, 分数由低到高排序.
ZRANK key member 确定在排序集合成员的索引
ZREM key member [member …] 从排序的集合中删除一个或多个成员
ZREMRANGEBYLEX key min max 删除名称按字典由低到高排序成员之间所有成员.
ZREMRANGEBYRANK key start stop 在排序设置的所有成员在给定的索引中删除
ZREMRANGEBYSCORE key min max 删除一个排序的设置在给定的分数所有成员
ZREVRANGE key start stop [WITHSCORES] 在排序的设置返回的成员范围, 通过索引, 下令从分数高到低
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] 返回有序集合中指定分数区间内的成员, 分数由高到低排序.
ZREVRANK key member 确定指数在排序集的成员, 下令从分数高到低
ZSCORE key member 获取成员在排序设置相关的比分
ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM MIN
SCAN cursor [MATCH pattern] [COUNT count] 增量迭代key
SSCAN key cursor [MATCH pattern] [COUNT count] 迭代set里面的元素
HSCAN key cursor [MATCH pattern] [COUNT count] 迭代hash里面的元素
ZSCAN key cursor [MATCH pattern] [COUNT count] 迭代sorted sets里面的元素

1. 常见操作

1.1. 获取所有 key

keys 命令会会造成服务停顿, 不建议在生产上使用.
建议使用 scan 命令, 该命令在 redis 2.8 之后才有

1
2
3
4
5
6
# 统计个数
redis-cli --scan --pattern '*' | wc -l

# 批量删除
redis-cli --scan --pattern '*' | xargs -L 5000 redis-cli del
redis-cli EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 $pattern*

1.2. 批量导入

  1. 从文件中批量插入数据
  2. 大量数据插入

第二种比第一种多了一步数据格式的转化, 转化成了 AOF 命令的格式.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# cache.txt 中放的是批量操作, 如:
# SET count 1
# 将 cache.txt 转换成 AOF 格式
origin_redis_cmd_file=$1
delimiter="\r\n"

while read line; do
redis_cmd=($line)
# each command begins with *{number arguments in command}\r\n
printf "*${#redis_cmd[@]}${delimiter}"
# for each argument, we append ${length}\r\n{argument}\r\n
for cmd_part in $line; do
printf "\$${#cmd_part}${delimiter}${cmd_part}${delimiter}"
done
done < $origin_redis_cmd_file

# 使用管道批量导入
cat cache.txt | redis-cli --pipe

A股, 正式名称为人民币普通股票, 也称流通股, 社会公众股, 普通股. 是指那些在中国大陆注册, 在中国大陆上市的普通股票. 以人民币认购和交易.
A股不是实物股票, 以无纸化电子记帐, 实行 T+1 交割制度, 有涨跌幅 (10%) 限制, 参与投资者为中国大陆机构或个人.

1. 交易

1.1. 交易时间

每个交易日:
9: 15 ~ 9: 25 集合竞价 (9: 15 ~ 9: 20可以申报和撤销; 9: 20 ~ 9: 25可以申报, 不可以撤销)
9: 30 ~ 11: 30 前市, 连续竞价
13: 00 ~ 15: 00 后市, 连续竞价
其它时间交易系统不接受申报单. (如: 9: 25 ~ 9: 30不接受申报单和撤单)
对于停牌一小时的股票, 在停牌期间 (9: 30 ~ 10: 30) 交易系统不接受该股票的申报单和撤单.
大宗交易的交易时间为本所交易日的15:00 ~ 15:30, 本所在上述时间内受理大宗交易申报.
大宗交易用户可在交易日的14: 30开始登陆本所大宗交易电子系统, 进行开始前的准备工作; 大宗交易用户可在交易日的15: 30 ~ 16: 00通过本所大宗交易电子系统查询当天大宗交易情况或接收当天成交数据 (交易规则的大宗交易从9: 30开始, 但尚未实施) .

1.2. 交易单位

股票的交易单位为 , 100股=1手, 委托买入数量必须为100股或其整数倍. 当委托数量不能全部成交或分红送股时可能出现零股(不足1手的为零股), 零股只能委托卖出, 不能委托买入零股.

1.3. 交易费用

收费项目 收费标准 最终收费对象
经手费 成交金额的 0.00696% (双向) 会员等交上证所
证管费 成交金额的 0.002% (双向) 会员等交中国证监会 (上证所代收)
印花税 成交金额的 0.1% (单向, 卖出方) 投资者交税务机关 (上证所代收)
券商佣金 最高不超过成交金额的3‰, 最低5元起, 单笔交易佣金不满5元按5元收取 投资者交券商机构

过户费
成交金额 (每股一元, 等同于成交股数) 的0.06% (仅上海股票收取)
成交金额的 0.002% (双向, 仅上海股票收取)
投资者交登记结算公司
一般情况下, 券商对大资金量, 交易量的客户会给予降低佣金率的优惠, 因此, 资金量大, 交易频繁的客户可自己去和证券部申请. 另外, 券商还会依客户是采取电话交易, 网上交易等提供不同的佣金率, 一般来说, 网上交易收取的佣金较低.
另外, 部分地方还收委托费. 这笔费用主要用于支付通讯等方面的开支, 一般按笔计算 (由证券公司营业部决定收不收, 证券公司多的地方, 相互竞争, 大多取消这项, 比如大城市, 证券公司少的地方, 营业部可能收你成交一笔收一元或五元, 比如小城镇)