A STock Analysis and Research tool for terminal(cli) users. 技术控和命令行爱好者的 A 股辅助分析工具。
Star
是什么?Star
是 STock Analysis and Research tool 的简称,主要用于A股股票追踪分析。star
目前的主要作用是根据您所设定的股票目标价及当前价计算出相对该目标价的上涨空间,即(目标价-当前价)/当前价x100%
,然后将此上涨空间按顺序排列方便您从中找到上涨空间最大的股票作为买入参考。star
不提供股价预测和股票交易服务,目前只是单纯的计算,所以它的价值很大程度上取决于您所设定的目标价的有效性,目标价可以选择近期股票的最高价格或者分析师给出的价格,在大牛市里面这样的目标价还是比较容易达到的。同时star
还具有股票基本报价信息查询、看盘、股票董监高持股信息批量查询、查阅未来30日财经日历等功能,未来可能会加入更多功能,也欢迎大家反馈建议。
这个工具的开发和维护花费了我大量的时间和精力,如果Star
对你有所帮助,也欢迎您给予支持,谢谢:
Star
是基于node.js
的所以先要安装node.js
, 推荐您使用最新版本的node.js
,同时最好使用 Mac/Linux系统,Windows下目前还没测试过,理论上可以使用,如果具体使用过程中遇到问题也可以在此反馈;具体安装步骤如下:
node.js
;star
: sudo npm i -g star
,注意一定记得加上 -g
参数,这样在任意路径下都可以调用star
命令,否则可能找不到可执行文件;star
: 直接执行 star
即可,第一次运行的时候需要加-f
或--file
参数指定股票数据文件(推荐采用绝对路径,详见后文说明),之后可以省略该参数;star --help
;注意:如果npm
安装很慢(由于一些众所周知的原因),可以使用cnpm
代替,下同;
如需从源码安装用如下步骤替换前面的第二步即可:
git
之后 clone star
源码:git clone [email protected]:hustcer/star.git
;star
目录下安装依赖的 node
模块: cd star && sudo npm install
或者sudo npm install --production
,加上--production
参数则不安装开发依赖的相关模块比如gulp
等;./star.js
即可,推荐创建软链接:ln -s /absolute/path/to/star.js /usr/local/bin/star
, 这样就可以在任意位置通过star
命令进行调用;本工具会不定时更新,升级方法如下:
搜集了一些常见问题及解决办法,参考这里
变更详情 见此,主要变更如下:
-M
或者--margin
实现;-g
或--grep
参数支持对股票代码的过滤;-i
或--insider
参数查询董监高持股变化信息的时候也可以不指定股票代码,此时查询沪深两市最近的董监高交易记录,按交易时间倒序排列;--market
参数来指定板块儿:SZM-深圳主板, SZGEM-深圳创业板, SZSME-深圳中小板, SHM-上海主板. 大小写不敏感; 指定股票代码时会根据股票代码来判断属于哪个市场,所以--market
参数无效。-i --top-buy
参数查询最近买入总额排名前列的股票,--span
参数代表查询时间区间:1m~12m,即最近一个月到最近12个月;数据源: uzfin.com
-i --top-sell
参数查询最近卖出总额排名前列的股票,--span
参数代表查询时间区间:1m~12m,即最近一个月到最近12个月;数据源: uzfin.com
-p
或者--page
参数指定要查询的分页,默认为第一页。--remove
参数筛选证券名称和备注里面不包含指定关键词的股票,多个关键词之间用','或','隔开.bdiff
即根据(s.price - s.cheap)/s.price
指标排序.sdiff
即根据(s.price - s.expensive)/s.price
指标排序.--lteb [pct]
参数用于筛选出使得如下条件成立的股票:100*(s.price - s.cheap)/s.price <= pct
,如果pct
为空则上述条件退化为:s.price <= s.cheap
.--gtes [pct]
参数用于筛选出使得如下条件成立的股票:100*(s.price - s.expensive)/s.price >= pct
,如果pct
为空则上述条件退化为:s.price >= s.expensive
.--lteb
和 --gtes
参数,用于筛选当前价小于等于适合买入的便宜价格或者大于等于应该卖出的昂贵价格的股票(分别对应股票配置里面的cheap
和expensive
价格)。star -wo
或者 star -w -o
watch 当前持有的股票, 原有的 fallback 机制不变。symbols
部分添加重复股票检查功能。(目标价-当前价)/当前价x100%
,上涨空间最大的股票通常也是最有利可图的,这也是本工具的最主要功能,方便快速决定值得买入的股票;-d
或--data
参数切换到另一个;(s.price - s.cheap)/s.price
)、sdiff( (s.price - s.expensive)/s.price
)、targetp(上涨空间: (s.target - s.price)/s.price
)、capacity(市值)、pe(PE)、pb(PB)等条件进行升、降序排序,其中后三项排序只有在采用腾讯数据接口的时候才支持;-l
或--limit
参数),并且进行分页(通过-p
或--page
参数);-e
或--exclude
参数排除所有证券代码以300,600,002或者000开头的股票,多个前缀之间以','或者','分隔;-c
或--contain
参数只显示所有证券代码以300,600,002或者000开头的股票,多个前缀之间以','或者','分隔;-f
或--file
参数指定股票文件路径,并自动保存该路径,下次执行命令的时候不必重复输入;-g
或--grep
参数对股票列表里的股票名、股票代码、备注字段进行搜索、过滤,多个关键词之间以','或者','分隔;--remove
参数筛选证券名称和备注里面不包含指定关键词的股票,多个关键词之间用','或','分隔.-L
或--lte
参数过滤出当前价到目标价的上涨空间百分比小于等于指定百分比的股票;-G
或--gte
参数过滤出当前价到目标价的上涨空间百分比大于等于指定百分比的股票;-U
或--under
参数过滤出股票星级等于或在指定星级之下的股票;-A
或--above
参数过滤出股票星级等于或在指定星级之上的股票;-M
或--margin
参数过滤出支持融资融券的股票;--lteb [pct]
参数用于筛选出使得如下条件成立的股票:100*(s.price - s.cheap)/s.price <= pct
,如果pct
为空则上述条件退化为:s.price <= s.cheap
,其中s.price
为股票当前价格,之所以使用s.price
作为分母而不是s.cheap
主要是为了减少因为后者的随意性而带来的偏差;--gtes [pct]
参数用于筛选出使得如下条件成立的股票:100*(s.price - s.expensive)/s.price >= pct
,如果pct
为空则上述条件退化为:s.price >= s.expensive
,其中s.price
为股票当前价格,之所以使用s.price
作为分母而不是s.expensive
主要是为了减少因为后者的随意性而带来的偏差;star 300315,600048,600015
;-w
或--watch
参数看盘,在该模式下股票报价数据会自动更新,目前更新时间间隔为3.6秒,例如:star -w 601179,600118,600893,000712,002625
,最终执行效果类似于在终端执行top
命令;watchList
部分内容,详见后文说明,这样每次只需要执行star -w
命令即可;watchList
部分内容为空则自动会查找 symbols
部分股票里面 hold
为 true
的部分股票;-w
或--watch
参数的同时再加上-o
或--hold
参数则忽略watchList
里面的股票直接加载symbols
部分股票里面 hold
为 true
的部分股票,比如star -w -o
或者star -wo
;-i
或--insider
参数加上对应的证券代码,查询相应股票的高管交易记录,多个代码之间以','或者','分隔,支持对深市主板、中小板、创业板及沪市股票的董监高持股变动信息进行查询;-i
或--insider
参数查询董监高持股变化信息的时候也可以不指定股票代码,此时查询沪深两市最近董监高交易记录,按交易时间倒序排列,可以通过-p
或--page
参数进行翻页;--from 2014/01/01 --to 2015/07/09
参数限定高管交易记录的查询起始时间,默认从当前时间开始往前推一年;--span 6m
参数限定高管交易记录的查询时间跨度月数,取值范围从1m
到24m
,6m
表示从现在开始往前推6个月,默认为12m
,例如:star -i 000768,002456,600118,300036 --span 3m
;--market
参数来指定板块:SZM-深圳主板, SZGEM-深圳创业板, SZSME-深圳中小板, SHM-上海主板. 大小写不敏感。注意:当指定股票代码的时候会自动忽略该参数;-i --top-buy
参数查询最近买入总额排名前列的股票,--span
参数代表查询时间区间:1m~12m,即最近一个月到最近12个月;-i --top-sell
参数查询最近卖出总额排名前列的股票,--span
参数代表查询时间区间:1m~12m,即最近一个月到最近12个月;-C
或--cal
参数查询中国股市未来30日题材前瞻;Star
的运行需要一个股票数据文件,如果未指定股票数据文件默认情况下会使用当前目录下的 symbols.yaml
文件,该文件采用yaml
语法编写,修改的时候尤其要注意缩进问题,否则可能会解析错误。一个典型的股票数据文件格式说明如下:
symbols:
-
name : '掌趣科技' # <字符串>公司名称
code : '300315' # <字符串>证券代码,必填,不可错
cheap : 16 # <数字>买点价位,在此价格附近买入有利可图
expensive : 22 # <数字>卖点价位,在此价格附近可以卖出获利了结
target : 23 # <数字>目标价位
star : 3 # <数字>股票评级,越高越值得购买,范围:1~5
hold : false # <true/false> true 表示当前持有该股票,反之不持有
watch : true # <true/false>是否关注此股票,如果 true 则关注,否则忽略
comment : '手游;高送转;自设目标' # <字符串>行业/概念/题材等备注,后期可用于搜索过滤
-
name : '启明星辰'
code : '002439'
cheap : 50
expensive : 88
target : 78
star : 3
hold : false
watch : true
comment : '计算机;信息安全;腾讯合作;分析师推荐'
# 通过`star.js -w`或`star.js --watch`看盘时如果没有传入证券代码参数则从这里取得看盘股票列表
# 如果 watchList 列表为空或者不存在则从 symbols 列表中获取 hold 为 true 的股票
watchList:
-
name : '安信信托'
code : '600816'
-
name : '中航飞机'
code : '000768'
-
name : '华胜天成'
code : '600410'
-
name : '中国卫星'
code : '600118'
-
name : '中航动力'
code : '600893'
-
name : '锦龙股份'
code : '000712'
帮助文档
股票筛选结果
股票基本报价信息查询
股票看盘(报价数据自动更新)
批量查询股票董监高增减持信息
董监高增减持排行榜
中国股市未来30日题材前瞻