star
Tools
JavaScript
Star是什么?
Star是 STock Analysis and Research tool 的简称,主要用于A股股票追踪分析。star目前的主要作用是根据您所设定的股票目标价及当前价计算出相对该目标价的上涨空间,即(目标价-当前价)/当前价x100%,然后将此上涨空间按顺序排列方便您从中找到上涨空间最大的股票作为买入参考。star不提供股价预测和股票交易服务,目前只是单纯的计算,所以它的价值很大程度上取决于您所设定的目标价的有效性,目标价可以选择近期股票的最高价格或者分析师给出的价格,在大牛市里面这样的目标价还是比较容易达到的。同时star还具有股票基本报价信息查询、看盘、股票董监高持股信息批量查询、查阅未来30日财经日历等功能,未来可能会加入更多功能,也欢迎大家反馈建议。
Donate
这个工具的开发和维护花费了我大量的时间和精力,如果Star对你有所帮助,也欢迎您给予支持,谢谢:
安装及使用
Star是基于node.js的所以先要安装node.js, 推荐您使用最新版本的node.js,同时最好使用 Mac/Linux系统,Windows下目前还没测试过,理论上可以使用,如果具体使用过程中遇到问题也可以在此反馈;具体安装步骤如下:
-
安装 node.js, version >= 4.2.0,始终建议您采用最新版本的
node.js; -
安装
star:sudo npm i -g star,注意一定记得加上-g参数,这样在任意路径下都可以调用star命令,否则可能找不到可执行文件; -
运行
star: 直接执行star即可,第一次运行的时候需要加-f或--file参数指定股票数据文件(推荐采用绝对路径,详见后文说明),之后可以省略该参数; -
更多帮助可以参考:
star --help;
注意:如果npm安装很慢(由于一些众所周知的原因),可以使用cnpm代替,下同;
从源码安装
如需从源码安装用如下步骤替换前面的第二步即可:
-
在安装
git之后 clonestar源码:git clone git@github.com: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命令进行调用;
升级
本工具会不定时更新,升级方法如下:
-
【可选】升级node.js, 建议您使用
nvm来管理node这样升级起来很方便,mac下也可以使用brew来安装、升级node; -
更新
star:sudo npm update -g star;
FAQ
搜集了一些常见问题及解决办法,参考这里
What’ New ?
变更详情 见此,主要变更如下:
- 【v0.5.0】 修复财经日历获取异常;修复深交所股票董监高增减持记录查询异常.
- 【v0.3.9】 修复财经日历内容解码问题.
- 【v0.3.8】 修复 node.js V6+ 环境下帮助文档输出被截断的 bug.
- 【v0.3.5】 优化命令行中数据表格展示;
-
【v0.3.2】 股票追踪增加对融资融券标的的过滤支持,可以通过
-M或者--margin实现; - 【v0.3.1】 修复深市股票董监高持股变动查询时的分页显示问题;
-
【v0.3.1】
-g或--grep参数支持对股票代码的过滤; -
【v0.3.0】 通过
-i或--insider参数查询董监高持股变化信息的时候也可以不指定股票代码,此时查询沪深两市最近的董监高交易记录,按交易时间倒序排列; -
【v0.3.0】 未指定股票代码查询董监高持股变动信息时允许通过
--market参数来指定板块儿:SZM-深圳主板, SZGEM-深圳创业板, SZSME-深圳中小板, SHM-上海主板. 大小写不敏感; 指定股票代码时会根据股票代码来判断属于哪个市场,所以--market参数无效。 -
【v0.3.0】 可以通过
-i --top-buy参数查询最近买入总额排名前列的股票,--span参数代表查询时间区间:1m~12m,即最近一个月到最近12个月;数据源: uzfin.com -
【v0.3.0】 可以通过
-i --top-sell参数查询最近卖出总额排名前列的股票,--span参数代表查询时间区间:1m~12m,即最近一个月到最近12个月;数据源: uzfin.com -
【v0.3.0】 修复查询深市个股董监高持股变动信息时的分页问题,可以通过
-p或者--page参数指定要查询的分页,默认为第一页。 -
【v0.2.8】 增加
--remove参数筛选证券名称和备注里面不包含指定关键词的股票,多个关键词之间用’,’或’,’隔开. -
【v0.2.8】 股票追踪增加按
bdiff即根据(s.price - s.cheap)/s.price指标排序. -
【v0.2.8】 股票追踪增加按
sdiff即根据(s.price - s.expensive)/s.price指标排序. -
【v0.2.7】 增加
--lteb [pct]参数用于筛选出使得如下条件成立的股票:100*(s.price - s.cheap)/s.price <= pct,如果pct为空则上述条件退化为:s.price <= s.cheap. -
【v0.2.7】 增加
--gtes [pct]参数用于筛选出使得如下条件成立的股票:100*(s.price - s.expensive)/s.price >= pct,如果pct为空则上述条件退化为:s.price >= s.expensive. -
【v0.2.6】 新增
--lteb和--gtes参数,用于筛选当前价小于等于适合买入的便宜价格或者大于等于应该卖出的昂贵价格的股票(分别对应股票配置里面的cheap和expensive价格)。 -
【v0.2.6】 允许通过
star -wo或者star -w -owatch 当前持有的股票, 原有的 fallback 机制不变。 - 【v0.2.5】 改进内部交易查询等在命令行终端输出时的对齐问题。
- 【v0.2.5】 看盘股票列表的数目从 20 调整到 25,批量请求的数目也作相应地调整。
- 【v0.2.4】 财经日历的事件列表输出排版改进——去掉冗余的空白字符。
-
【v0.2.4】 股票配置文件的
symbols部分添加重复股票检查功能。
具体功能列表
股票追踪
-
设置股票的买入价、卖出价、目标价、星级、备注等,可以自动获取股票的当前价格并且计算距离目标价的上涨空间:
(目标价-当前价)/当前价x100%,上涨空间最大的股票通常也是最有利可图的,这也是本工具的最主要功能,方便快速决定值得买入的股票; -
支持两个股票信息获取数据源:腾讯和新浪股票数据源,万一其中一个有问题可以通过
-d或--data参数切换到另一个; -
可以按照股票的code(证券代码)、star(星级)、price(当前价)、incp(当前涨幅)、bdiff(
(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参数); - 可以设置是否关注、持有某股票,并根据这些条件进行过滤:可以显示所有股票(-a, –all)、只显示持有的股票(-o, –hold)、只显示不再关注的股票(-I, –ignore);
-
可以通过
-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主要是为了减少因为后者的随意性而带来的偏差;
股票报价查询
-
通过证券代码查询相应股票的基本报价信息,多个代码之间以’,’或者’,’分隔,一次最多查询25个,例如:
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...