爱吱声

标题: 一个用stata 计算股票成本的小程序 [打印本页]

作者: awer    时间: 2011-8-13 18:03
标题: 一个用stata 计算股票成本的小程序
本帖最后由 awer 于 2011-8-13 20:49 编辑 8 Z8 u" j1 o3 J- |
% M: [$ s: {5 x: Y7 D  U% T
   我是从西西河一直追虎大追到爱坛来的,虎大曾用stata 分析过股票的长期成本和一年的短期成本,但是直接用kdensity命令无法得出筹码峰的具体数值,因此我写了一个小程序来计算股票的筹码峰值、长期平均成本和短期平均成本。下面就给出具体实现方法。
计算之前需要有
1 招商证券系统(通达信其它客户端也行,功能都差不多)
2 Stata软件 (我用的版本是Stata/SE 11.0
然后
1.新建一个文件夹储存股票数据,比如:
e:\stock\source
2. 股票数据导出
a 进入招商证券, 系统-盘后数据下载,更新数据
b快捷键“34”进行数据导出, 在弹出窗口选择8 n  m3 J: l3 N; j7 J
高级导出”,
在高级导出窗口选择日线导出”,
将导出目录选择为你新建的储存股票数据文件夹的目录(e:\stock\source! 切记切记
文件名 XXXXXX.TXT
勾选  数据精确复权
添加品种中选择想要导出的品种
开始导出
3下载 stata, 将本贴附件中的hello. do文件copystata根目录下
Stata中的 Do file editor 打开hello.do 文件, 确保hello.do 文件中 e:\stock\source 和你保存股票数据的文件夹目录一致
现在就可以计算了,以露天煤业(002128)为例
Stata 输入如下命令
do hello
hello 002128
2 D# N& u: L$ J
/ h' M6 g; y2 \. Y  S* k( O
(002128
为你想查询的任意一只股票的代码)
几秒钟之后应该会出现下面一张图

! o& H' L" `5 P6 _
hello.do (5.25 KB, 下载次数: 11539) 其中蓝线为股票上市交易以来的平均成本值(注意!此值没有去掉一级市场发行和国家的0成本)
红线为一年内交易的平均成本值
黑实线和虚线为一年平均成本值附近两个筹码峰的值
黑方框代表的事20内每天股票的收盘价格
红方框代表股票最新收盘价
山寨完毕, 收工!!

作者: 明月回春    时间: 2011-8-13 20:17
本帖最后由 明月回春 于 2011-8-13 20:19 编辑 . B% N* k% g1 t6 z/ v

' G, h7 G% p: f; ]程序写的不错.
6 V. d& K) w; p" S不过有一点要注意.通达信导出的数据,只对价格复权,并没有对成交量复权.所以数据需要手工处理.虎大买的是Thomas One Bank.
( f0 H. i+ G5 h. B还有就是虎大除了用了kde,还有摘要功能,你可以看看这个也是山寨
. ^% O& W  B5 Y6 G! V+ o1 p( j3 v+ a  J

作者: awer    时间: 2011-8-13 20:20
这点我也注意到了,所以我用 成交额/复权后的价格  作为成交量 用于权重计算
作者: wenty    时间: 2011-10-19 14:32
多谢,挺好用的。
" A9 D7 s& Z/ M3 U' M  `, m通达信似乎无成交额一栏。导出的txt文件要删掉header,否则stata当数据为string了。
! }6 [. B! l9 R( u* \" f, L
作者: 旅途愉快    时间: 2011-10-19 15:40
本帖最后由 旅途愉快 于 2011-10-19 17:44 编辑
6 r  {# I1 k- N: |5 X
% V  j. N. E+ ]. E* L4 m6 H3 l) t% ^没太看懂。。。+ [" \+ D0 h6 X  @

9 @$ ?0 B; ?2 j; p; B, r9 v# i: N露天煤业最近20天的收盘价在20块左右?
作者: 旅途愉快    时间: 2011-10-19 17:47
仔细看了看,发现原来自己理解错了~:)
: v2 h& ^- w: q* J' S1 W
- I! u1 Q2 k/ ?5 @$ ^6 o5 \  U谢谢awer。有问题再请教哈~~
作者: 旅途愉快    时间: 2011-10-19 18:09
还貌似有一个问题啊,为什么我处理2000年以前上市的股票,都会出现:

  1. 3 F4 n$ j: J; |4 p1 o9 r, `) f
  2. hello 000425# e- ]- x- F1 Q
  3. time variable takes on negative values
    8 }. u0 {0 Y  Z6 T. C% c
  4. r(459);, A& t9 ~+ L8 A& D
  5. % F5 k- R- ]  t1 H4 }$ d
  6. 9 |% C, W) \' x3 z+ g1 u
  7. . hello 000783
    ) W' _# V1 Z" P3 X- N6 D  @
  8. time variable takes on negative values9 \* X/ y; m% M" D3 {/ L! Q2 |
  9. r(459);. z! B. E4 G7 p2 y5 n
复制代码
2000年之后的没问题,比如露天煤业。
作者: 冷眼看世界    时间: 2011-10-19 19:25
不错,我也来试用一下
作者: 沉默的前哨    时间: 2011-10-19 20:45
为什么老是提示:type mismatch
作者: 沉默的前哨    时间: 2011-10-19 20:49
能不能帮忙看看:
7 u0 u- G" w8 f% b/ T' ?& u$ y
/ M- J% J% R. G2 d! Y: J8 h( t/ o do hello0 d- N* t6 v2 [
4 r3 @, b/ w0 K4 @: }4 X
.
. w4 E& I+ \6 u. capture program drop hello* F  t7 O: U0 _3 q* y8 A( k
9 u1 I1 y5 C- U$ {0 k
.
5 [* E8 V  k# v1 j) k. set mem 1024m2 Z. x+ D8 ~# M& x4 S
no; data in memory would be lost
/ E$ a# N0 i' E6 B4 A& |4 S! B/ wr(4);3 Z0 I, ]: C8 f6 e5 B$ [% u, e

/ n. e. d, ?' x0 Z% p# aend of do-file
* D' O& z- ?8 V) K$ G* e; K4 |/ N8 h% p
r(4);5 j$ p+ ]1 `5 d' r/ }' r+ f9 ^# s
: [; U7 L4 j6 g
. hello 600063
3 y/ m/ ^& P2 r% ?, }, Vunrecognized command:  hello
  i/ `5 K% p/ G; J0 |. K& ]r(199);
. Q4 \+ F3 T2 w2 y0 g( k& H
作者: awer    时间: 2011-10-19 22:03
沉默的前哨 发表于 2011-10-19 20:49 8 z6 _+ S; B$ O- @
能不能帮忙看看:
: R3 a4 I3 Z* ?5 s: U* Y0 x- }: J/ y. W3 v+ y
do hello
# x5 X' R8 r* y, s2 n
你算得哪个股票?
作者: 阿雷    时间: 2011-10-20 08:52
awer 发表于 2011-10-19 22:03 - R# u) v2 c( e
你算得哪个股票?
9 r8 c: a0 `: q7 w3 n6 @
那现在露天煤业可是在平均成本以下啊
作者: 沉默的前哨    时间: 2011-10-20 10:30
awer 发表于 2011-10-19 22:03
- j) a  ^9 Q# \$ y6 ?3 g你算得哪个股票?
2 {# {3 Y! {+ [! h8 D- ]
我是用通达信引出的数据,比如600663,在e:\stock\source 里的文件是以SH600663.txt存在,无法执行,后改成600663.txt还是不行,请指正!
作者: 沉默的前哨    时间: 2011-10-20 10:32
awer 发表于 2011-10-19 22:03 ) u$ e/ l1 X" D! G
你算得哪个股票?
2 p$ X; o! e0 V4 q
do hello 后变成
* L! `' y1 e: d- j, R, v8 I......
; L! ~7 }  _( X  d; }* u7 G4 z4 w% S
end" O4 D7 L# I* s, w7 }6 ^: Q
* r5 o. `+ J# O$ ~7 l; y
.
3 @" O  q9 \  u& r: C' q: Hend of do-file- g% l3 T2 ^5 h. p

作者: awer    时间: 2011-10-20 11:18
沉默的前哨 发表于 2011-10-20 10:32
" `5 |  i1 b+ |' f& ?, t  Mdo hello 后变成
' u- A9 N' I3 d' y- s$ m......

& u8 B& r- T6 W2 _$ E' N! `
作者: awer    时间: 2011-10-20 13:32
沉默的前哨 发表于 2011-10-19 20:45
! X1 g0 I2 i% j8 i5 L为什么老是提示:type mismatch

1 t- c: t/ {) R3 U4 S9 [注意 日期格式要选成  yyyy/mm/dd,要不然时间变量格式不对
作者: wenty    时间: 2011-10-20 14:16
"此值没有去掉一级市场发行和国家的0成本" 是指已包括一级市场发行和国家的0成本吗?
/ n  `( Y9 l- ], a& @# x5 _谢谢
$ T" m7 d' q% d3 Q6 v
作者: 琴心三叠    时间: 2011-10-20 17:35
下方的棕色曲线是代表什么的
作者: 琴心三叠    时间: 2011-10-20 17:35
下方的棕色曲线是代表什么的
作者: maqiangcn    时间: 2011-10-20 19:13
明月回春 发表于 2011-8-13 20:17
7 c' L* i* t! o# P3 E7 j1 I程序写的不错.# p* I" V0 K* M( e7 Q& r0 s( S
不过有一点要注意.通达信导出的数据,只对价格复权,并没有对成交量复权.所以数据需要手工处理 ...

" F( o/ _" C+ ^: z  I你好,这个链接好像不对,能确认一下吗?
作者: 琴心三叠    时间: 2011-10-20 20:03
琴心三叠 发表于 2011-10-20 17:35
9 v: W4 \3 k, P- j" k( f5 k下方的棕色曲线是代表什么的

: ~, b# `( U8 C3 v" J- U5 b1 E两条曲线只是周期的不同吗
作者: 琴心三叠    时间: 2011-10-20 21:37
谢谢答复  还有一个问题  我导出的文件为何只有当天的数据  而不是历史全部数据呢
作者: 偶然    时间: 2011-10-20 22:19
建议楼主给个数据格式模板
作者: awer    时间: 2011-10-21 10:05
琴心三叠 发表于 2011-10-20 21:37 ; \% U1 h1 y( l: p" _
谢谢答复  还有一个问题  我导出的文件为何只有当天的数据  而不是历史全部数据呢 ...

! f3 q. Y. D3 j# c) V) |: l有很多问题是数据不全造成的
& U: P! t' Q6 h: t% G. e8 ?如果想要全部数据,( ^: i" D0 x6 d+ c( v: F* L
系统--盘后数据下载--日线数据--日线和实时行情数据4 T% _% g9 q1 \9 a5 p7 e6 w

' m: u7 G+ w+ b& b2 p, Q( e把开始时间设成中国股市开盘的那天,下载全部数据& r% m/ D$ M7 |1 Y# U
. W. z; u7 ~+ g% Z
下载完全部数据后,在屏幕上使用快捷键 34
3 ~9 Y) i. }' T/ |+ g' o7 ~7 v2 v
! O* Y2 x; v9 Z' H) D  D* G2 i- P34--高级导出--  v5 [$ g( ?, R- J
" w& O% E7 o5 f+ D  @3 w$ R; y
然后选中   日线导出;选定导出目录;文件名设为:XXXXXX.TXT;勾选精确复权;不要生成导出头部;分隔格式为tab();日期格式为YYYMMDD,然后选择添加品种
/ @8 z6 a6 c8 v/ D
- T" l! Z: p4 N# }我一般都是把所有数据下载到指定目录下,然后进行hello运算 0 d) K4 w& }( O$ m3 n3 c  e  @- _7 y
* h- v5 V# U! l( f4 S

作者: 沉默的前哨    时间: 2011-10-21 12:40
awer 发表于 2011-10-20 11:18
1 d* r6 y1 Z9 Y$ ^3 a) }, f# H) q
谢了!我自己还是没搞定,我再看看。
作者: 沉默的前哨    时间: 2011-10-22 12:31
搞定了,谢谢!
作者: warbrai    时间: 2011-10-22 16:38
沉默的前哨 发表于 2011-10-21 12:40
: o( ^1 m# q  h* m) b谢了!我自己还是没搞定,我再看看。

$ O9 n! n0 {& c) e1 {别选择 "导出数据头部"
作者: 沉默的前哨    时间: 2011-10-22 23:16
warbrai 发表于 2011-10-22 16:38
3 S" s+ g5 R% z别选择 "导出数据头部"

; u0 {" A3 R4 Q1 L8 B) ]7 ~0 Q是的,谢谢了!现在可以了!
作者: 心静天地宽    时间: 2011-10-23 20:45
老早就想找个这样的软件和方法了,无奈见识有限,一直没有办法,感谢你的无私。
作者: 琴心三叠    时间: 2011-10-23 22:04
抱歉  我还是没明白棕色曲线的意思   黑色线代表筹码分布密度  那棕色线你说代表随价格的变化率   这我不太明白  请说详细些  不好意思  我比较愚钝
作者: 琴心三叠    时间: 2011-10-24 18:45
hello 600085
4 |8 r5 q. a$ @' \/ p0 v8 S( Aunable to change to E:\fenxi: H- X# Q, f" x  j5 @" V5 W
这是什么意思?
作者: 观风望月    时间: 2011-10-24 20:32
已经下载下来用了,非常感谢热心的分享。
* n" Z1 I; S+ M7 l, j6 R; ^# ^! n' [因为不会使用stata,所以有个小问题想请教一下,我按照你教导的方法已经成功测试了露天煤业,兴业银行等几个股票,都成功出图,但是在计算600188.601999的时候,程序提示“
- u1 N: ~+ U1 [# y. hello 601999" `4 q- }/ J1 @1 P6 [( x+ v
statement out of context
$ {" K4 ^% j; Ar(119);: c  x6 }7 c, Q4 ~& h: I, h

+ y# }  r* S2 d* s# c% L我查了一下Help的内容,对于这个错误也没有特别具体的解释,不知道是什么原因造成的,因为数据的导出和格式和前面几个股票都是一样的,所以我搞不太清楚到底是怎么回事。; {, q7 c$ S1 G% q5 D* c
5 l/ f* W. R9 _# z
另外,虎大提到过的国家成本和一级市场成本加权可以通过在数据中添加一行交易数据来实现,只不过这笔交易的成交价格和成交量需要自己加权计算,对于不分红的股票来说加权计算还是比较容易实现的
作者: 本拉风    时间: 2011-10-25 15:22
横纵坐标分别表示什么,2条曲线又表示什么
作者: 钱潮滚滚    时间: 2011-10-25 16:08
发个图验证一下和大伙的结果有没有出入." X/ m( Y# _! N* r/ P4 o
/ y0 f, N8 S+ D# \
收盘价到昨天为止的三一重工:
1 E: K7 }1 ~# \! y7 ^4 T" h3 _" a4 X: `
' @; v% J4 F/ E) Q5 h
; [. ~" s; _9 q: ^

作者: kevenjames    时间: 2011-10-26 14:05
就楼上这个图,几条线,还有黑点分别都是什么含义啊?
作者: wenty    时间: 2011-10-27 04:17
总结一下使用心得
0 v5 t1 v% Z3 N1)删掉set memory那一行( H6 _5 E! @; M8 A4 Y+ W/ _; o( h
2)改路径2 s9 k! V4 @) V  X
3)从软件导出数据时,要先下载,后导出,不选导出头部。
1 p8 q8 a& W# s8 T4)用notepad看导出的数据每列对齐没,用tab修正。$ g) v# X( j( t( T8 R3 j
希望有帮助。
作者: 沉默的前哨    时间: 2011-10-27 09:09
老祖爱蓝军 发表于 2011-10-26 22:50
% s: g- h* e3 w2 s, s我出现同样问题,请问怎么搞定的?
7 m% E! ?% j; S, b/ G
关键点:) C" y( F3 }; \$ l; A( [
1、文件名设为:XXXXXX.TXT;
( O" G/ S- W  w+ Y: p: Y2、勾选精确复权;
4 i& Q/ ^+ g, r& c3、不要生成导出头部;
1 O& a# d# ^4 v! D4、日期格式为YYYMMDD;
+ r2 U! R; x, z3 `' w5、如果不行,建议可以关闭stata再打开试试,我认为和操作系统的版本可能也有关;
作者: 范进中举    时间: 2011-11-8 16:10
不错,按照楼主操作完,最后是选择do命定,选hello文件,然后hello 代码就行。# Q# w3 `/ V0 M3 J- }# f9 R
几个问题( c5 b3 y+ r$ j4 E% ^9 B

' |# }+ ]3 h; N6 Q5 O8 U最边上的蓝色的4.473554是什么意思,红点13.84054是最近20天平均价?灰点15.3842,黄点19.09930是什么意思?
作者: 范进中举    时间: 2011-11-8 16:12
钱潮滚滚 发表于 2011-10-25 16:08 ; K. M; i# m& \9 u) |- T5 e
发个图验证一下和大伙的结果有没有出入.# ]. @1 A6 Z) t- k% {! U7 a  f: N! ~
5 a/ [6 {) m2 X- S  m. o! [' h
收盘价到昨天为止的三一重工:
, T1 }0 R0 q3 v: R6 e  f
蓝色线上的8.520041是啥?红点13.85195是啥?灰点15.40402是啥?黄点19.09793是啥?
作者: maodeng    时间: 2011-11-9 21:47

7 S4 N! }3 l0 O( g. i! S# C+ z2 ^- a
  `2 _, y1 P0 g: a  i大牛,小生这厢有礼了,啥也不懂,照着葫芦画瓢,我的数据应该是更新到11月9号的,图形如下,不知道对不对
) M" {, d/ z8 F0 X  j" y
7 p7 f$ m# Y/ ?3 Z* s, b# _1 ^0 g. h) k9 [+ I* O

作者: maodeng    时间: 2011-11-10 19:58
wenty 发表于 2011-10-27 04:17 ! N3 c1 |% g  ?2 ~
总结一下使用心得  C9 L) M) R* W# _9 p2 O% G
1)删掉set memory那一行- L8 h' x. q1 V' P
2)改路径

" P+ D, y, w' W) Z  M记事本打开后,怎么用tab
作者: 冰火    时间: 2011-11-10 22:44
认真学习
作者: higer    时间: 2011-12-9 22:34
我也曾尝试过使用stata软件对股票平均成本进行分析,但是作为一个非专业的炒股人员,而且日常还有工作的人而言,这种方法似乎显得太专业,而且操作难度极大,不一定实用。& I# {, x7 d: z$ P& q! s6 P
* O& X. H+ k3 g, b
使用这种专业的技术分析方法容易造成这么一种现象:大家都对导出的光滑漂亮的图像感觉良好,然而在股市中依然无法进退自如。
作者: jway315    时间: 2012-3-24 20:12
谢谢楼主,希望继续给同学们挖宝哈!
作者: awer    时间: 2012-3-28 18:06
改了一下,这次运算应该没啥问题了
9 w& d3 O, z$ ]9 i1 K% A6 g7 \
  S9 q9 q; Z4 N0 L6 X2 K! e+ ~) t
capture program drop hello3 G# L/ y1 C4 w  x. j, @1 f0 k' ~

" d+ P% k: ]+ e( qprogram hello  [) b; A, E, r$ H9 D
+ Q! q* `. F3 S8 a
quietly {6 e' y! }! s  r
  c/ _/ K& b! F* j0 {# m0 p
clear6 o0 y& V, \9 G( @5 S- E7 h
9 l5 G! j$ R" A6 @
cd e:\finance\stock\20110101\source
6 s  s: ?0 W  u; r' i0 E9 C& O; S9 f5 D
insheet using `1'.txt$ Z" [( `. D' L( \

6 a4 r9 f6 A5 f$ i8 T   keep if v5>0
' Q$ K* r, b+ x+ Q) e& D   
* ], w+ F1 m# s  ^6 c0 V   gen vt=_n7 l1 F& g" W% X7 g, C
   0 e& d: g/ q6 ]3 `# N3 c
   tsset vt
5 W. j" _8 J% ~  o
% T( Q5 R7 c+ e. l+ H# i+ X+ `   gen zf=D1.v5
, R0 D2 x" N$ f) C3 W/ E. x7 l' d
: _& A  L. @) R$ M   gsort -v1
3 d8 k  h, K. r/ B7 t8 b5 D* }" ]
; D9 h( ^3 v. l) F9 a# y4 _0 C5 O0 \   gen avol=v7/v5' I) G8 S/ ^( v. t1 N. ~( K/ q; x' A
   
( r9 Q; J. c. E4 M   keep if avol>0; R% K  O4 ^" O) O
   ; \0 `% ?7 v: c( J5 j2 d3 X
   drop vt% D5 V9 D/ a: X4 H: i6 H2 Q
  
( G7 n; b# h& L, R0 Y' H   gen vt=_n
% z; |; R3 m  E) {0 [2 x6 g   - y% j& E" n% C( C; ^
   tsset vt, u6 H% R% n5 B7 C1 N' i& i
   4 f/ i* c* b% p5 J6 @/ D4 ^. D
    sum v5 [aw =avol]' y% J4 o* e: q  @
4 z6 c( T/ U1 R8 I
   gen amean=r(mean) in 18 @- H7 M- s( j3 V8 U; {5 ?
   : O" M7 C8 k! E6 l7 Q: T! g) y
   * 总加权平均值 amean
. F& b2 n) k3 Q4 |   7 }. k) D0 L4 d% y
   % V* u2 ?) G1 R5 m
   keep in 1/240) c( r" q, q/ W/ X- `
1 N4 `1 G2 C) E# u6 {! \) L" S
   sum v5 [aw =avol]0 |5 x0 ?  F! l9 h' W6 X$ _
' U  @- k; c+ C2 ^  f( M
   gen mean240=r(mean) in 1
# \- S2 c8 z6 s) T2 v   
9 t" l, ]4 f0 e- R   *240加权平均值 mean240
7 G6 D1 m: U( n- M+ v$ Q6 Z5 I   * K$ ^; G$ l6 j8 _' k6 C' E" o2 x
   set obs 500 + K" b$ ]  p4 B& {
   + b- p) k& m! R
   kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph$ ]$ ~/ J* Q! x' \5 x9 ]0 G7 r
   
% C+ Y2 v* J  g' l9 w   *240 kdensity(dx240 dy240)" r( c+ C8 l; }1 o( {  J$ w5 j
   
9 z: R8 r! q! H; h9 G0 c" J1 A2 a7 @) _- v   sum dy240
0 }8 g: M3 ?: S   ' `% b0 l. a* g* E& n" ~: _
   gen yxis=r(max) in 1( T! V2 I. x+ r; X# \) O2 I
   5 {% V" \0 R/ @$ r3 e! p! ^
   gen yxis2=yxis/2
! l' f* f- T/ {3 \' y/ \! ]2 {   ; e% y1 g1 y, N4 C! [; A7 E: [
   *yxis& Z- H1 h. {8 K. A
   " l2 ]6 \) A! g  F
   gen dy240max=r(max)
/ K7 S5 j2 k- W5 O  C   % `: \* y  _8 {3 h/ @3 W# B
   gen dy240minp=r(min)
/ g" U; l7 @# o6 D  g# F
( D5 E6 [4 I" j- o6 m0 z0 K    gen vtt=_n
9 ^- K- r- s3 I/ U% r6 ^+ c! ]/ S2 v. d- Q& m$ m, k! I
    tsset vtt
9 y! X1 C- y9 r
/ n( v, r: f7 p. C4 A" w( ^   gen ddy240=D1.dy240/D1.dx240  C& O7 x8 Y6 D! y% x# @
   & l. j1 J1 N3 ?+ V3 k7 ~" h0 D' D
   sum ddy240* n) H% W1 `5 @' Z1 _4 E& d% y
   * @1 [5 t" [3 A3 T0 z3 n3 H
   gen ddy240max=r(max)/ J  C' H( {. S, r# Q# V3 s! N  T  `7 N
   5 D) c! q" r6 |, I% H: o  t) x
   gen ddy240min=r(min)
5 d* k7 Q5 |' Q' z( U     
8 |/ F. s& @/ B9 f   gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)3 v( H) |% w% Z0 c2 ?- o, O0 b
   
/ I2 N* e2 ^$ R/ h0 H   sum ddy240g
, q2 L- O) @1 r; q* h) E. k   * g0 S1 n! H6 m/ I# D& n
   gen yxis3=r(min) in 1" Q6 |: K8 r, |4 H! q/ r0 D
   
3 G; m( \" ?$ U: p   gen yxis4=0 in 1- }( ], s% {2 L0 e
  
' t9 C5 }* x3 F  *ddy240g 7 L( o" E2 o8 r
   & n$ t3 S* M8 O, B$ N" o
   
" N3 j" F- `6 {1 S4 h6 o  preserve
. Y7 J$ b* c3 i  5 z3 d4 i- l% |8 [
  sum v5 [aw =avol]2 ~4 `+ Y7 `2 ?& B9 ~- d: Z
  
/ B: ?. h  j4 \% a# s: U& P! W  keep if dx240<r(mean)
3 y8 ~$ D0 Q" Z# z8 D7 b9 h  . s' m1 @1 ^! V$ e
  sum ddy240
: m% y" D  T1 D5 [$ B, L  
) x( O6 ^- o8 M0 q, b  if r(min)<0 {2 z9 I0 B7 u7 `8 H7 B1 k$ W
        6 D# y+ j. b- Q1 \
                keep if ddy240<=0
' G1 i6 i3 m* H# h                ; ]2 Y' q3 M* S, y
                count: n# Q3 _; C% j3 ]
               
: j1 D! K) C- j! W1 i9 M" S                if r(N)>2 {! H( G' U' G* |6 V* t# d$ d2 ~' y
                 % [! Z* O1 Y1 i& b; H  i
                 pkexamine dx240 dy2403 I: x5 F7 o3 a( {
                6 h4 I6 f. @5 Y  J
                local tempminp=r(tomc)
: H- M6 l1 g. _. {, {+ c                restore 6 T: N- F) C8 b( _% k
                 }) U5 r! J' Y: X& C) X( V5 p+ b( R
                 9 ]2 K9 W$ A8 X
        else {
* F5 k, a# {( f! s' O+ J               
1 d5 y3 b: ^$ }  [/ v                 di "cannot find minp"
5 d- [( B# k# n4 D6 y. f6 R                 5 ?4 r, t. J5 u! F' Z( V1 @8 Q0 D
                restore
# C7 j9 o6 \* a4 a                 sum dx240" G/ |8 e1 s4 p
                 local tempminp=r(mean): i) Z- ?- z) C9 m: Y
                 / D) n' \; N. D5 Y
                 }
% O/ Y4 w9 F( d4 |& O3 M# f" z                }
8 o6 d$ P- q! z. a, s7 ]/ \1 R   else {/ g  v4 Q  W7 ~+ u
                 
" b# w2 \; G+ e4 ^, e4 B- x                 keep if ddy240<=r(min)
7 Z- V( y; Q0 c( x' K8 g& U. _9 R  [                 
1 T7 B: S1 v7 ~- h) y. r                 sum dx240
' M, k1 b+ w* b2 n# V                 
: D0 r5 s# T- Q6 {* ~) g- z, V. K  o                 local tempminp=r(min)' G3 u  Y5 S. }8 \5 b' b
                 restore * M3 M% J: g! u4 u: a. _7 w
                 }
: i9 N' g! n1 c; c8 r0 ?
8 D' P( l$ I& J& c  Y  X
" o2 r" G# B+ |$ P, \" C$ D, q% d3 s
   gen minp=`tempminp' in 1
/ W/ Q! i) R1 D   *240 minp
3 ~6 L$ k/ E  c' ?
+ U3 n7 m! @& \$ i0 ?  Y
& x8 V9 t( Q1 l  }   
9 L, b) _& v" D0 A4 V   preserve 1 j, B3 s$ X4 b7 O8 I) A. D# k0 z5 B
   ) w4 h+ @6 i/ n9 g
   sum v5 [aw =avol]
/ {+ Z7 g8 [/ X* z4 k; E: p! d   2 D) X6 u' a4 Y& ~; J2 W) P0 G
   keep if dx240>r(mean)- ]# x  G* I+ W- t, [
   
/ d; \& J! X* X- \4 L   sum ddy2408 ~. J" O" i) y/ k, z9 E
   / H/ u& t! }* a9 b, ~) k
   if r(max)>0 {7 x# g! v& m7 [! z7 Q
                / X& O- l$ b6 h7 o# m2 r  O
                keep if ddy240>=0
+ B/ v. Y) |1 A3 ?  \                & e9 G. x0 E, Z7 y" n$ H8 I
                count
7 ]" y$ L1 q  O               
% g# d1 v" s5 [) t                if r(N)>2 {% ]0 U$ s1 Z* |) J
                 . Z: G& r; @1 w
                 pkexamine dx240 dy240$ \. R' r) I2 Z, v9 O
               
! u2 U8 X! F) S8 B5 I                local tempmaxp=r(tomc) " u" I& O$ n: Z2 S
                restore . i+ C6 \! s. z1 p9 M" K
                 }7 ?1 o5 M, v. j
                 ! b# L3 h5 d8 E/ H: V" C
                 
8 H1 I! g6 W/ ~        else {
2 O: r1 R! Y# ]6 E0 p! d+ d* Z                restore
- w! T# a" b$ g( ?6 ~! z                 di "cannot find maxp"* t# L: N  R8 c) j( S
                3 ~' z- n! R& B
                / A7 v+ ^6 w; B& T; I' g  x2 K
                 sum dx2403 L8 _1 w* \& h0 p; {  C
                 local tempmaxp=r(mean)
" X. q# z2 t$ K. l                 $ ?/ z. {0 k6 h2 z' x% `
                 }5 r* x! V6 k0 z5 K1 i% ?
                 ; P# D8 c8 G# X
                 }
4 n% A6 E0 A- w% S3 T                 6 N; |, E! K1 b$ V5 X
    else {" c8 ~, X- U  C3 \! w; V, P
       
7 E/ a; o, B. I& {+ V( n) ]) X           keep if ddy240>=r(max)
% g2 f) n% f0 k1 o+ W          
# K# x5 Q/ ?. s           sum dx240" Z! t) @! |; X: J
           # x# [$ q, s. a5 w
           local tempmaxp=r(max)
; E& r1 z% x6 b) B0 u0 b, o           restore . r" T/ _5 V) Q
           }% j9 _4 r0 y6 X& R' c1 p
       
, u) L" g( {3 H' E0 P7 U1 F4 q5 d) r  j" `& ~* K$ I
  
+ ]2 c( A# ]' [( F7 Q( A' t" f* }+ l6 R* W/ b" f0 A4 E- a5 N
   gen maxp=`tempmaxp' in 1
/ d/ C- S  `! w6 w" X# s   , Z2 V; }! p0 x' K8 _! N7 Q$ z
   *240maxp
9 B% \9 N8 F. o+ T: Q   
7 k# J6 _8 c! K5 W   % w! b, w$ @) L, r
   *-------------ddy240pminp左侧高峰值-----
8 C. A" ^. X; j1 y% b! [   
. N7 a6 e, n. v7 e    preserve
4 X& j; o- @" m5 z- H/ n   0 O/ k! K! |7 h
   keep if dx240<`tempminp'
  I5 |7 g: n( v, k( @3 P5 L   1 F% m4 v- h+ T
   keep if ddy240>0
& e- U1 y  T% o+ k! [   7 l, w8 Q7 Y% K9 I: c
   count
& h; [8 w  P) {! [               
- g) x' Y+ c# |. h/ W7 |" x                if r(N)>2 {4 S+ `+ W" o% T4 o( s/ P
                 . c; C4 I  o" U$ {
                pkexamine dx240 ddy240
0 x, n( ?9 B# B! u  F3 i                $ Q1 f% Q  B' A
                local tempminphddy240=r(tomc)
- h4 [0 g; }; x* G. e$ K  M: }; t: J                restore
! E0 x% A3 C# x& O3 P6 _- C                 }
( s# G- K. U, S0 S3 y8 K                 
) r4 D3 U1 x9 P9 g' G" ^$ y) c6 E        else {
% e3 n8 k7 o& T( q# Y7 [                restore
6 l. O. r1 _  z  y                 di "cannot find pminphddy240", b+ R. W, J  J4 u$ Y; t5 r0 @
                 
0 y2 I( h! e. p2 B2 ?                ) h& u  {/ b, ^3 x0 i
                 sum dx240( J% }+ W9 e& Z8 c) k4 k4 t" z
                 local tempminphddy240=r(mean)
6 \  r. K) c- o1 w* {               
! l/ @; ]& @! I3 v                 
  G, X! q# ~! ^                 }
% V" M( I8 W5 l4 P  K. e1 c                 
& `# q$ O/ M5 w9 E1 t: O* m: g' o   7 J0 i8 ^/ K/ j9 m
    & P) c( i2 b+ N1 U& L
   1 F% R% A# f( K, d1 Y. q5 `% l
   9 Z6 ?6 V9 N7 I. K" m4 o# E# ~
   
, `+ [/ Z$ r0 F3 q: J6 T        gen pminphddy240=`tempminphddy240' in 1
/ M) P& _1 T9 J       
1 }7 C4 W8 v( E& e  a  c: U       
* V6 Z) L3 r# z% V: i        *-------------ddy240pminp右侧低峰值 -----------------) a& ?& T  A4 s! Y
    preserve
2 G1 [8 V2 L( b* t6 O6 X) b! q5 C
" d  M  O- a! m( T6 c- ?   keep if dx240>`tempminp'
' r0 t" d) R/ `* P4 F0 |6 H8 C% V3 \   
' _7 F) W. B& M1 u1 C% O; Y, U9 t   keep if dx240<`tempmaxp'3 N; H% H: e  Y+ F
   
; V3 j& D# }% _  `# m; S% o; y   keep if ddy240<0/ Q9 G* t3 s6 f! U+ S1 e: x! x8 W' d
   
- X' y3 c6 `7 N2 k) I   gen temddy240=-ddy240$ n- S( Q+ q$ F2 D
   
! D# Q# J8 Y5 N& b    count2 E$ p# D" ]6 ~- I
                0 s' L. o# z1 G. N
                if r(N)>2 {
- t4 o3 J$ K" y2 e2 [                 
  F- h# T5 L6 r0 B4 g0 H                 pkexamine dx240 temddy240
' G1 a% L1 k1 J  N   
. d; z) h( }6 m" a  local tempminplddy240=r(tomc)
$ z+ O7 h- ?& K# E, k/ x9 W                restore7 A. }1 q* s% I: d) @2 H
                 }
$ ~% B1 a* g3 c/ k/ }* d7 V% t) X                 
& }3 R) h( F$ A        else {
# V; m, u" r' O! Z! a, ?               
( {9 W6 I# P8 l4 S                 di "cannot find pminplddy240"/ F0 w  V% N% [1 m- O- E
                restore. a" i' a& Q' V" i
                 ! C% `5 @7 n0 a
                  sum dx240
! e" K6 }  z+ X; T                 local tempminplddy240=r(mean)
1 y8 J6 C* r$ {% |0 M                 
: ~% K4 Q- Z1 q' P% ]" p                 $ S! d' v) K" ?5 |( N
                 }# X* a' d0 b0 V) o4 x
   
8 w) ]& A2 x$ `  s3 d5 D    * g0 H3 Z* }4 @8 Q; g, `  E
   
9 X! s1 f2 S, n: j; N3 {: `; j   
, w' F. A3 }, u3 c  T   
3 r- W/ n9 |5 T& ^        gen pminplddy240=`tempminplddy240' in 16 x5 c) ?8 a* Q$ h0 x, u* x
        ; ]* U' R; I' b
        *-------------ddy240pmaxp左侧高峰值 -------------------
9 W1 N- H1 q% M' O9 G0 c       
* ^/ s/ l5 A* z' o- e9 m6 E         preserve
' e& c9 U5 C. A4 Y0 Z; X% |2 H: L   
% B4 w7 q  w/ ?   keep if dx240>`tempminp'7 E( I% w1 H1 n$ r* H0 _
   2 k' u" T; V# g3 u9 M7 K
   keep if dx240<`tempmaxp'( e& O4 k! N! ]1 ~
   
2 ?  I! J; o& [+ u* [   keep if ddy240>0
" m0 I) z' G3 B* c   count
' o& ]& G7 O7 q) L% \# q               
4 u+ r0 h5 d/ y- A1 W                if r(N)>2 {
0 a, X4 ~9 h( ^: z* @) c( |                 / a; x7 X4 v: T1 E" k! e1 E
                 pkexamine dx240 ddy2406 `( O: c* @& h7 U2 G  ^5 X
   
. v/ S: ^2 m1 l1 r6 x$ E0 P   local tempmaxphddy240=r(tomc) ' E4 B6 a) D+ g; v* M$ e8 p
   # c8 Z: X# r# d5 j
   restore
7 D' F) J1 g$ k/ d6 c                 }
; o3 F$ {7 E# O5 z4 Z  q- D0 G8 H- Y* z                 
* x3 W# f2 J" v9 S        else {
6 o- U& Z7 R) }4 A- v2 E7 }- ~% M                2 T% E# R" v& {  [: a
                 di "cannot find pmaxphddy240"
: L) a) H0 ^& ~% V& @1 W& }                 restore
% G$ B! n- g0 M3 E0 ?3 B+ z$ k                7 o4 V9 D. G/ D, K
                 sum dx240) _+ ?2 d- e' s  o, Q6 `
                 local tempmaxphddy240=r(mean) ' O. e+ S. w& z2 j6 J4 u
                 / ~6 B1 a, k% @0 w9 w) D
                 * h$ g% C, X" n- e8 p, s
                 }9 B4 h5 k4 l; Q, i
     N; {0 Q9 W6 Q. ?' C7 {
   * q! c" X  o1 U+ i5 D# @: z
    , P1 J, c( G( s2 @- F( A
   
  i0 s  @' u* L   # f0 l& z6 m- u# q/ k- T
   0 J( w( o/ I2 C. K, l
        gen pmaxphddy240=`tempmaxphddy240' in 1
9 g) e* H, I+ e0 L        ; ?7 j. X5 ~8 a" C* P: o& F
        & ^' v) u2 H; n5 r9 _' A4 Q$ B
        *-------------ddy240pmaxp右侧低峰值 -------------------
* H7 V1 y  w8 c  a  }) c3 b4 R. m$ I' _        " ^8 J* l- N+ f( @9 d
         preserve
! w+ k) h4 Y5 m  
( y4 v( I: x! d+ M. v  \( \/ d   keep if dx240>`tempmaxp'
* v0 w5 A. F* V   
( }. L* d' }- X0 q( d   gen temddy240=-ddy2406 K1 [6 p. F' n
   + ~+ r$ t) s2 I- e; Y" A
   keep if temddy240>05 r! Q7 `) Q; W, O. X5 `
   
3 Z3 p6 ?  s8 ]# m   count' a& F4 G4 B) Q( b* n) x
                $ I* o3 }5 u' S$ c% q$ C
                if r(N)>2 {
  o; W' b9 ]  K/ W* O# z                 5 p$ a+ B' `2 E
                pkexamine dx240 temddy240  X& Z: X6 }/ ]  D4 K" \! l
   
- V$ Z8 P2 R& O2 i0 `+ b0 V8 |   local tempmaxplddy240=r(tomc) 4 X5 D9 S+ _: n" Q& N# v
   restore1 @7 ?# c8 k$ T/ S8 F4 T" P4 L1 T
                 }: @( H% M; C' T/ F0 K- `
                 
# N8 X" ~, v) Y! v' p6 A* W        else {
- n4 a" C/ J" [( ]! L# P" ]                restore/ v, p8 M8 @1 n) _) }0 X: U, O; @2 k
                 di "cannot find pmaxlhddy240"$ d. O" E  ?/ K8 I7 M
                 6 g8 A  e; [6 n( x
                8 n* N, }8 T( }- {! Q. s3 O
                           sum dx240
& h7 K+ x$ p/ F6 C5 [2 o                 local tempmaxplddy240=r(mean) in 1# _3 R' N6 E: w, v
               
9 z- t" h! u6 F" y$ s3 {" e: M                 ) C0 ]! @- C3 O1 f% ?, @! _
                 }
* d9 d: ^3 q( A& b+ X1 I5 }. E   
& e: z3 ]. f6 \* s   0 E/ x2 k; m+ h! P+ i% V
   
7 v/ m) g. P' i! `+ s8 h   
9 p* @( V5 E8 }, t% W( R6 L& f   ! X2 Z  {. e; _( i( F4 l
   3 i2 @1 P/ E) m2 x( u
        gen pmaxplddy240=`tempmaxphddy240' in 1
! U7 X5 r( K% n' \        ; w. @. O3 T1 y* i
        *-------------------------------------# }6 A  E  v, a/ \" \9 m
   ) A* w# S( I8 M* O
   gen price5d=v5 in 1/203 }8 Z, b+ u8 a2 |& \6 o/ X6 Y7 S! P
      ! B# b" e7 m/ X, ?/ u- j; R% J
   gen price5yy=_n in 1/205 C$ h) \  I9 ~* H4 z3 R2 L
   , |( T) u( m) L
   gen price5y=price5yy*(dy240max-dy240min)/20
6 @8 N. n1 G# D, g" f   
" d% T' p/ L. |; c* ?: i   *price5y &price5d( \9 e4 B2 \3 w1 @. I2 e1 ]: U
   7 y% c' ~0 `/ g" A
   gen priceny=price5y in 1
. f7 b$ l, h" x6 T! e1 y1 l5 _0 H   
7 R! @+ S) }4 ]" L: E3 X9 s   gen pricen=v5 in 1
$ t2 @9 r! d$ J3 q1 B/ y0 K! K. `* p* _
     . }0 [2 s2 L$ \6 I* d/ p* G; ]! V
   *priceny &pricen
. ~# H$ Z$ b( G8 {, K   
8 Q7 N/ v; F  o   , P# f0 p; y/ d/ ^
   *-------------------------graph------------------0 s0 j% C& P! m3 _/ Y
  
; Z- X0 p) ~, _# v5 v( d1 V  tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off): j6 D9 W- T6 I* h' ^( O2 w2 j

% `2 _! Q" M+ `6 w" W3 F* ---------可选项目----------------------
4 n+ D: F) S- C# D' N) l+ H3 o  [
}" k9 O2 ]0 O7 [7 v$ u- h, F  e
end
% I  m- N+ n5 r8 k- P5 n& k  _/ m
作者: 旅途愉快    时间: 2012-3-28 23:23
awer 发表于 2012-3-28 18:06 % o! Y. d- L, Q1 A: R
改了一下,这次运算应该没啥问题了
; R6 L" T6 c. e8 D
这段代码是重新复制粘贴到hello.do里面的?
作者: awer    时间: 2012-3-29 11:40
旅途愉快 发表于 2012-3-28 23:23 7 O$ _9 W0 ^/ O9 p/ _7 p, V
这段代码是重新复制粘贴到hello.do里面的?
% e# R9 {7 d2 O) O" S" a
对的,就是hello里面的那个
作者: David09    时间: 2012-7-2 21:35
awer 发表于 2012-3-29 11:40
% _: D4 i$ Y6 A- E5 E4 t对的,就是hello里面的那个

: Q4 s  m1 }  F3 n9 d, I. hello 002680' y, {) [" v/ h
Obs. nos. out of range
( f, k' g6 [% x3 P/ fr(198);! H# D4 K2 q/ i, p
  h* k! E0 A) p6 T

+ N0 O& G6 D% C+ d' q/ ?% |我运行后,出现这个,不晓得是什么错误了,请大拿们帮助
作者: qqysc    时间: 2012-7-3 12:12
David09 发表于 2012-7-2 21:35
8 P8 }8 u; u* G! W0 C# c. hello 002680$ C- H. b, D% `7 q7 O- A
Obs. nos. out of range
6 n) W3 }- A* F+ X' Ar(198);
# S- Y0 C# I+ d  C* ]& M
估计是导出文本格式问题。
作者: qqysc    时间: 2012-7-3 12:14
awer 发表于 2012-3-29 11:40   @6 w# F2 V" w) E" e
对的,就是hello里面的那个

& h* H5 a1 I% I8 A' I* @: d复制粘贴有很多乱码,请楼主把上面的代码做成附件以供下载,谢谢!
作者: David09    时间: 2012-7-3 17:13
本帖最后由 David09 于 2012-7-3 17:28 编辑
1 g+ ~# @( ?4 `! ^" G5 n
qqysc 发表于 2012-7-3 12:14 & @: c4 N' T- U% o% a) c/ N
复制粘贴有很多乱码,请楼主把上面的代码做成附件以供下载,谢谢!
2 v* J4 P9 v# o. @/ D5 ~
/ W4 q+ |0 ?3 _2 r* i$ A
我清除过了乱码的啊....
作者: qqysc    时间: 2012-7-3 17:56
David09 发表于 2012-7-3 17:13 " c. {4 v! ?: ?+ d, ^6 K7 X
我清除过了乱码的啊....

4 `! E& Q* l6 L说得不是一回事。你说的问题可以试试在 002680的文本中,把tab键补齐,导出时不要带表头
作者: David09    时间: 2012-7-3 19:45
qqysc 发表于 2012-7-3 17:56 # r0 S  ~; d) H5 m1 l* ?
说得不是一回事。你说的问题可以试试在 002680的文本中,把tab键补齐,导出时不要带表头 ...
; t0 d# e, _) ]
很奇怪啊,我看stata中间的数据表,都整整齐齐的导入了成交价成交量。但是一运行就蹦出来那个错误
作者: David09    时间: 2012-7-4 14:44
搞定了,原来是我选了一个次新股的数据,样本数目太少了,引起程序的错误。4 O  z4 y9 L  {0 k6 w& d
感谢楼主给的好东东。
作者: 碧水芳洲    时间: 2012-7-13 13:40
怎么没人问曲线是什么 意思呢? density指标也不是很明白呢,谁来解释一下?
作者: benhuashu    时间: 2012-7-20 15:16
请问,这一个语句:5 ]0 k; b+ \' y) K! P4 z4 C
gen zf=D1.v5
' A7 K! f& W1 Z# h% y6 ^. l是什意思?主要是=之后的D1.v5,这个"." 是什么意思?谢谢。
作者: 海阔    时间: 2012-11-5 18:37
非常感谢;
作者: 墨轩书童    时间: 2012-11-7 11:46
本帖最后由 墨轩书童 于 2012-11-7 14:37 编辑
  `; R4 Y" S( x, m5 j+ B
, `, v, N. L+ c. L& x( k; N, F感谢楼主!!
作者: 海阔    时间: 2013-1-20 17:03
本帖最后由 海阔 于 2013-1-20 17:08 编辑
+ w% `# _* R  {# A, l# ]* Z% U" G& B/ R$ M7 V2 i1 V9 _' k2 h
按照版主的步骤操作到了最后出现
9 U" a  Y# i" V: M. \3 |0 g0 I# p! l" L3 a  P
. hello 6000317 e4 c/ g' _+ k( F5 }) ~
avolDo not found3 t" D# N; m; w8 U  y
---------------------------------------换成其他代买,也是一样;总是出现这个问题,怎么办呢?奇怪
作者: maodeng    时间: 2013-1-25 13:15
大师,那两条曲线代表什么啊6 C- m8 ]1 r# v

作者: maodeng    时间: 2013-1-25 13:15
如果我想看最近 一个月,三个月 六个月 的成本,怎么修改程序啊,谢谢大师了
作者: maodeng    时间: 2013-1-25 13:18
我用同样的方法导出数据,发现有的能生成,有的就不行,不知道问题在哪儿,比如300236就生成不了,我的邮箱是19860225gaoyuan@163.com,麻烦大师了
作者: maodeng    时间: 2013-1-28 13:13
. hello 300236, {3 x) {/ m3 K- v5 J$ ~
statement out of context
" F4 d+ H" B4 H! [' f: ^r(119);9 Z. R! ~. K5 U7 A

) [3 f- Y& }% f! a% N& X大师 就是这个
作者: sergio    时间: 2013-1-28 21:11
这贴实在!
作者: awer    时间: 2013-2-5 14:40
maodeng 发表于 2013-1-28 13:13 1 g1 E( N. h- U
. hello 300236& {$ l1 K$ U0 T. M
statement out of context4 [4 n% o1 ^1 e- c+ `* A
r(119);
: E' A9 E8 V, l9 W0 U8 _
抱歉,最近太忙了/ ^: {9 P/ v" e1 o; Z' l

: l4 E( V% Z  c( V9 ~+ J+ O7 B) [' c300236 我用下面的程序试过,没问题9 ~& a" W( P# K+ b; j1 P

0 K" b9 z1 k+ z9 U' r; ^你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试$ ]' h# b  @* N1 a* k* u8 t
, p: p' ]& F5 a9 \! H% ]
capture program drop hello2 b) R& K, t7 ]  s

( ?! d) l' L  p6 G1 @program hello  F: d" l. ^$ Z# X5 \0 h
# f- ~+ i- p* `4 n% {* x: @
quietly {& }- Y% R9 _9 r1 c- Z. P8 ~# V# y
% l& X- T+ _1 W0 K0 N
clear
3 o, E; B) T, g8 C$ i/ \* w/ [  M" v) i2 Z
cd D:\stock\test\source! y/ @7 c/ f/ k0 L3 K0 C7 U" N
  K0 u0 d6 z& W+ T- ?& G$ S# u
insheet using `1'.txt
+ f& ?2 `) s  L& i4 Q7 ^- j
$ }9 G, m) l  T; [, Z3 z   keep if v5>0' E& q" i2 x% b( X% f" s1 o
    $ o% G* P+ m, a# a+ F* E- w# y
   gen vt=_n* H2 F# s+ K8 S4 H( W) K0 v
   " F* ^3 x4 f1 `9 j1 s/ q% |0 I
   tsset vt
7 t8 X; @$ X/ j' L" S5 a# m/ H
" D( p9 |4 k* X; a2 s   gen zf=D1.v5
  F) b" U4 Z  `7 \$ O, F- R3 c; h+ u* g) d& ?& l
   gsort -v1
4 Q3 ~4 _; M( v5 a4 c
9 T) k& F5 D) v+ C4 ~9 y# o7 k. `( u   gen avol=v7/v5
. b$ g8 L/ t$ O! f' |$ H/ X   ) \/ R3 V2 u, h6 d' k
   keep if avol>0( `% v9 o% ]5 z: j+ }( L
   
6 d; Y+ c$ g6 {) L: ]1 w. Z   drop vt3 Q3 L# g& P9 W5 R# I& O* c4 V
  
; Q3 H4 u2 {) B& o& F. l   gen vt=_n
7 C; v4 f- S6 l3 X6 V4 O9 S' k2 F   
2 O. R* G. @6 H, M- r' x3 v   tsset vt3 u. X4 I9 N! y8 l& w
   
+ l2 H5 z" f# {, Y3 M6 x( q9 p    sum v5 [aw =avol]9 s& k7 L. u: T

7 y; N* D' x2 A   gen amean=r(mean) in 1/ Y" k. v/ w# Y* a$ o9 s( F; C9 D
   6 A0 [; n% ~6 ]2 U/ n/ ?
   * 总加权平均值 amean
: {5 z& R" Z0 f1 o" Z. A% R! y   7 b! J2 {$ a6 h
     K' j. f2 x& W# B* ^3 J8 t: G% `
   keep in 1/240; T# o: b: C" e/ z5 w
) E0 E3 J+ C, y
   sum v5 [aw =avol]3 `4 C- J0 G% ~+ N  z4 h
2 P/ {1 T3 ?* n# w& `
   gen mean240=r(mean) in 1: o1 V7 ~, u% a- n3 t
   
8 i) H$ Y/ C9 R. m5 b* t   *240加权平均值 mean240
. H# S! M9 L3 B0 {. E1 I   
! G4 o% {+ }9 i! |; f   set obs 500 4 \% G  N$ u5 m3 ^
   
1 `/ h; d5 o5 M2 ]6 A   kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
0 h* B3 J0 G) a9 u' m3 H: {   5 K3 ^( ?6 M1 z
   *240 kdensity(dx240 dy240)1 d5 a' ]9 F+ p( A$ C9 l
   
3 Y0 x( p+ g/ @8 _   sum dy2404 z4 \, D) @6 @/ Q
   
, q6 i' U: u" }- O+ ^: S   gen yxis=r(max) in 1
2 Q" D: ^  Q* ?- J9 m) |   9 d' V& U- z, a
   gen yxis2=yxis/2
7 ?/ w8 E. J4 T6 a   - |4 i. N2 s7 i
   *yxis+ x8 P9 B" z2 u0 g  G
   
; ^3 I9 @, B) k6 I: s   gen dy240max=r(max)$ W, B" }0 }5 ]) J8 I
   
, j2 k; d5 Q/ A, {. y  p3 K+ F3 P   gen dy240minp=r(min)
8 F3 g* A/ L; V$ z8 p 1 k# L+ C9 J9 |5 |: `
    gen vtt=_n
7 V* S) F9 c* M
" x1 _4 T# m& B7 Z% W    tsset vtt
0 H0 s! d& B# L3 c4 s: ?0 b% z) n+ S, h9 p
   gen ddy240=D1.dy240/D1.dx240: n/ l: d0 X  y$ r) i
   . p' H. i- W7 H- O8 `5 i, g' C
   sum ddy2401 F. O( i0 V& b! q8 g( L( t: m
   6 B3 b6 S+ [0 X2 _7 c+ T! @4 x/ I
   gen ddy240max=r(max)# b; J6 \, |6 J) V: }# N# |
   
! ]5 y8 D0 _) m; _9 M  C* p   gen ddy240min=r(min)
- a. e7 K2 [% U5 ]% X! U* l7 f     * z! K) ~: a; k( A
   gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
8 L  N  d3 y- `0 p1 y4 L   
) e6 V1 d) q$ t+ }% E: b   sum ddy240g
& K2 G' ?* A, K   + x" l, F" P+ j9 W6 w: v2 O1 j
   gen yxis3=r(min) in 12 c! ], R; [+ Z& M
   
5 H; G1 x& c+ z0 z2 \   gen yxis4=0 in 1
4 G/ I) W/ [9 x5 M6 N" k, e! [( |  
7 T( }  x  E9 f9 m. U& c  *ddy240g 6 H6 \7 r; p4 o/ K/ h
   : Q7 `: ~: ~7 Y; F$ i
   ( ]5 }3 _2 O7 L7 F  Q4 g/ R
  preserve # `. p% W. T. V: h1 q# C# g5 E5 K
  
! ?& `; n  V# J- N" l  sum v5 [aw =avol]" ?: w5 Q9 Z3 J2 |: i3 O
  
* |& A) B2 t0 |3 M" ~. y  keep if dx240<r(mean)6 ?0 M4 U: t' x" W
  " o0 O6 v, g) u* a* i- {$ n
  sum ddy2404 @+ r8 q7 p( _
  ; a: L) h4 S- f2 h, N; O! i) u
  if r(min)<0 {
. x( R6 n5 [; r          A8 V# y; I' B+ \
                keep if ddy240<=02 u8 j, p( F0 k. \% ~+ [- W
               
4 J" g& L/ m# E6 e4 D                count' Z; S# |5 L4 q. P! B
               
8 z9 ~! F9 x0 S$ E                if r(N)>2 {
8 n1 h0 C& w5 P! t1 s                 
& L) i( R# {/ L. Z3 G9 a8 O1 D                 pkexamine dx240 dy2401 u7 z! U+ F9 T( N7 c: ?" U4 j" G
               
* R0 ~1 n+ N, H! g3 E                local tempminp=r(tomc)
& Q( {! o5 W! c& B                restore
( `/ H3 ?( X9 {7 u                 }
1 e+ k2 [5 h8 U' G/ T: l& C                 & o5 a. G7 X2 J* e  ~9 ~
        else {3 b# ]% M( I$ {) u! I6 i: k' w
                8 `0 [" E! d: a; k, G+ o( _
                 di "cannot find minp"
  v8 O) o# u, \& K                 ( ~; O, r3 A" Z, S4 |- z
                restore 4 g& }/ _8 @$ B; \; m+ P3 c
                 sum dx240
( Z2 z. ~/ j: D+ _' m                 local tempminp=r(mean)
" X; p: H: l- ?' {5 p                 
" b& I- ?- C, S9 M9 {7 z! M/ {- c                 }
) `; i, f0 X6 `2 J# D6 O, ]& E                }" C4 i7 d4 B8 k' ]( b- W
   else {8 ]9 j( x8 P: v
                 
0 X9 ^2 v$ ^# Y; x                 keep if ddy240<=r(min)
1 C9 L2 b  i' K( ?% P, `                 
9 S" a) H8 Z* N                 sum dx240
9 ^9 T. r( ]- A+ \1 T% A3 \, J                 
7 N+ V( o& K( B7 v                 local tempminp=r(min)
! i7 O$ j6 {! }7 b" g3 D3 U0 ?$ ^3 c                 restore 2 J0 j4 s8 a9 e3 M, h$ ^
                 }
, \# Y: ], V: N- D( C- s8 |( C8 p8 A1 b0 C, l

: a4 j4 [& G! Q- l8 ?9 ~# I
0 ^/ N. F6 R5 s" t; R- F   gen minp=`tempminp' in 1
9 _% e  q& h9 D. J* J9 U0 ]   *240 minp3 r& n1 h& i* q3 C

5 Y1 l8 r" O) l$ r. d3 T8 \0 \, D# `+ i* V
   
3 U: A# Q4 ?0 Y1 H9 [( d+ W   preserve * Y5 h! \/ A$ N8 m6 z; b" N! n; M* L
   ! r8 B0 x/ f, E, ]9 `2 t2 f" J
   sum v5 [aw =avol]
- A* H8 c0 I! S5 p; K   
6 J! q6 K, Q& b* b( T; T5 Z   keep if dx240>r(mean)* X$ }+ G$ r3 A* Q
   0 d1 U. x5 ~9 x* b/ m" E0 g
   sum ddy240$ s1 x. q* O& x- S
   
+ s1 U/ G5 x( G; y$ B" \% A   if r(max)>0 {
- `5 x- G5 b* j( N* b& F/ R- ]                . Q2 _  z" h, W4 ]& {% `/ Z& |
                keep if ddy240>=0
0 a/ [. p- |0 n' p$ f               
- i, x9 V8 ?( |: ^* A/ X, ^                count1 \4 F4 d' d5 s! ^
               
$ |  \+ ^' m' \: \  T9 \                if r(N)>2 {% L( y3 I9 u6 c+ N: Y
                 9 I& M* ~; C( F9 [( ~% z
                 pkexamine dx240 dy240
2 J; K8 E! V9 V) C                $ C4 m; q1 @2 ^" x6 w9 D$ ^6 t
                local tempmaxp=r(tomc) 9 B1 X1 {7 s- T# ~, \
                restore / q- W  d. U/ F& H2 |% ~
                 }
$ U: q2 S0 u" M6 e6 J7 l- ^7 ]                 
! W8 w; q6 }) @1 i                 ) e/ q% n7 K9 y4 c1 t7 D
        else {9 u  g7 R: n1 f( K5 _! \
                restore * y2 E  D( {0 t1 d+ D9 q* h% [
                 di "cannot find maxp"
' c4 u( \4 |0 M) j+ K               
) _2 \. l; _' x; n/ w  j2 c               
7 y) o3 \, \8 L1 L4 t                 sum dx240/ ]5 W0 b, }/ M7 l; y4 s
                 local tempmaxp=r(mean)
5 E: n4 s' x0 l1 O                 
; l' z% T% X  s. O$ a                 }2 B9 \) H2 b- V1 k1 \$ K) ~, |
                 
8 T$ V+ e2 U* _6 N                 }
1 l: r+ A( H) ?  o5 s                 : r. X+ E) @& D( @, Q1 M  J
    else {; U5 J4 L# D# e1 v3 y" j
        9 E" ]! ^1 u/ I6 u* X* x" Y- _
           keep if ddy240>=r(max), v* {; ]  j% {- C$ J1 |9 l1 k* D
           1 N7 C  t  w+ g% W
           sum dx240
, O- Z( [5 y. L; W             |" P9 [+ @( [" V+ U4 o4 |
           local tempmaxp=r(max)
9 j9 Y# b1 r; P& g           restore
8 z+ Q' o$ N$ ?/ k5 j           }
+ B# V1 B- i) l) r4 d' f       
% x% h& w2 I. I. X
/ H: J: A8 P1 `* ^. R2 e* j3 S  / ^$ z7 a  J# P0 ]: w. K
5 ^! H* K9 A- m4 a9 F4 Z; O9 a3 d# l
   gen maxp=`tempmaxp' in 1  D) O8 H# p, n& s) C7 D  }7 ^
   
0 Y$ Y; k# [2 r* D   *240maxp9 W7 O8 m# R8 e2 B1 \
   ! {1 O* @$ T. Z2 X+ j- D1 j
   : z4 p* S8 W& I, M3 j
   *-------------ddy240pminp左侧高峰值-----8 G' Z6 z. Q. D' R8 C+ N
   & Z- a" p( l( j- i* s
    preserve
# A% K2 q5 p% k( ^9 @' p, @$ N   
4 C2 n* F; P6 L, D! `) x* z& M" A3 F1 c   keep if dx240<`tempminp'2 |7 P9 a- u5 H% {8 A
   5 T  x  @# _6 Y; G0 H0 h
   keep if ddy240>0' X+ v8 _0 }4 A- L% `# z3 n0 }& e
   
1 i/ ~9 `; E) Y; g5 ]1 X6 a   count2 e5 }1 |( W7 Z" j: i
                * s7 ^# m+ a0 ^' X' t4 A
                if r(N)>2 {6 R% Y' @2 n' ]. B4 ~' p* B
                 
  y! O, j3 l1 r( B$ q8 d2 e                pkexamine dx240 ddy240* C1 V6 N) O$ d, A
                . A1 S4 G2 ~6 B8 S8 t/ s, }6 b' m
                local tempminphddy240=r(tomc)
6 j9 Z' w) j7 ?2 B2 H                restore- C3 P% |; o1 I' n
                 }
7 P4 s$ P: t5 S                 - S6 H. s, A/ \
        else {
2 k! a* Z; b/ y' Z5 O) Z6 S: V                restore
: h1 E. b  b. \6 b) E9 L  c                 di "cannot find pminphddy240"
/ L& V7 w2 _5 `+ |' d                 
: X( @* p5 X+ ^# a$ \: P" I                1 H! Z/ A( r1 K( c8 c
                 sum dx240" D% b9 E: |% j& a
                 local tempminphddy240=r(mean)
1 N9 h5 n8 ~% A               
7 r1 T4 Q& g( g- Y/ V                 
6 _: Q8 S( e, T0 Y                 }
5 e1 }' {. s- V6 _                 $ q5 o+ X" P3 z, p4 c
   . z7 H3 b$ q9 U6 I4 [
   
9 f) j8 f3 e0 n   # n1 f; R; [# G; |& r- V* O# H; J' w3 b
   
- t' J& g$ O6 d3 I- h6 V   7 W: Z! n2 s, }' o& J+ q& D8 I+ M
        gen pminphddy240=`tempminphddy240' in 10 I; H3 V: Q5 w, x1 s+ U8 T
        9 J. P. b1 F6 M% g* |
       
1 x1 \" v; a# J- w1 a5 {7 t        *-------------ddy240pminp右侧低峰值 -----------------
: C  p/ H! ]& @3 @1 ?    preserve 5 J% ~9 p/ {5 c

. H3 n) }) O- w& a   keep if dx240>`tempminp'
+ w9 p1 i3 O. `/ p7 o   # H7 j( u$ L* v( c  ?
   keep if dx240<`tempmaxp'7 g" B4 I* u+ Q4 L/ Q
   . O, d1 a* G$ b; f, w' o
   keep if ddy240<0
0 x7 s$ a, Z9 J) M( j9 t  Z   0 C. h$ k& @, s% Q- w1 _. I
   gen temddy240=-ddy240* i0 ~+ `# o' G1 B- e" N
   ! n4 J1 n- O4 ~/ @: z. K
    count
/ p* A/ J% V  H1 q/ ?! g$ j, {" i               
; G& N8 v/ Y' m( y* H6 E                if r(N)>2 {# j0 L; Y" C$ [' i& B
                 $ B4 O0 e7 [) @9 @: @' J
                 pkexamine dx240 temddy2402 f& }" z9 o& t& y
   
4 b! y: d' e8 F  local tempminplddy240=r(tomc)
6 p/ }/ K  h$ y9 ~* m4 }) l                restore1 ^: y* H0 f6 Z4 T
                 }9 E( ?! u# G9 [" u
                 4 t. y7 K+ x) @2 D
        else {4 y: b/ Q2 ]6 ?& q' d
                9 x1 r. L% q2 \- |
                 di "cannot find pminplddy240"8 _: \$ A5 t3 \, X
                restore5 s; Y" q3 P0 |  j* D4 r- ?
                 - ]& \% |3 c# C, M" z7 U, n
                  sum dx240; I( o( o* W5 X2 L
                 local tempminplddy240=r(mean)0 i4 \: c! e3 ^$ j$ D' x4 ?
                 
1 K9 W) Y/ z0 ?, `$ e# P                 8 ?3 b/ e& E( m: B) x  b1 l
                 }' j6 o( T& b8 |1 N/ d
   & M0 l* ~9 U4 P9 E/ A5 Q
   
. q  @8 N& t& ?  {7 [2 |* y   
" l1 E9 w  F; J. B$ r0 e   
3 h8 \7 M# k# j. g$ L3 |# m( B  R   
( l4 i+ V5 v1 W" r7 ^        gen pminplddy240=`tempminplddy240' in 1/ t$ H' ]+ M% ^/ S$ P9 C7 @
        ! X. n& G9 O6 C
        *-------------ddy240pmaxp左侧高峰值 -------------------9 z. Z) e3 O1 p
       
( k' q/ t6 _* `+ K         preserve
' D" f1 ^9 E3 w4 z/ q2 [8 [7 w& k& Y   
! m4 I  ]3 a# ~4 s" Z7 a7 D4 [& _$ m+ ]   keep if dx240>`tempminp'
4 C  e; }' X# Q# P   
& p7 i9 c7 P1 I: K9 `- O   keep if dx240<`tempmaxp') x1 }+ y( S2 D7 c1 ]8 Y% K. E2 x" P
   4 L6 n! y/ t- o+ U, k0 ?% O
   keep if ddy240>03 V' l& P- P, e# s6 Q1 X2 L
   count2 O' r8 m3 h' Q0 ~
               
' @# a7 E! C5 @. \3 {                if r(N)>2 {+ v. f7 \8 |( b2 \& W. H0 [
                 & ]& V6 F6 H+ W/ d  y
                 pkexamine dx240 ddy240! t/ ]. ?* v3 C% T; \
   
" k: @3 G% o* w* W   local tempmaxphddy240=r(tomc)
/ T5 T$ g9 S; S% @   $ r6 I' p! n4 b! T
   restore, V. s0 t6 e& H  A& D
                 }
$ F& E& M* L, h) i3 C1 v                 - ?6 e1 q( ^3 k; l0 M' G
        else {
1 O6 L1 I1 O* n9 ^5 \" a& h                  K8 ]5 M0 G5 n9 W3 z; y
                 di "cannot find pmaxphddy240"8 u" }$ b1 y+ p: d" p- m% y
                 restore
" y9 a! r7 X% S) |6 k                ; l; {4 {' p# [7 Y
                 sum dx240
* m/ {0 c& v1 C$ I1 k0 _                 local tempmaxphddy240=r(mean) / z& J6 ?% ]8 k1 _- N
                 
! M3 _8 c6 R: {0 g                 ; _( z: k7 _( G3 W' i0 l# h
                 }
; [& c9 V+ o# C! L5 l/ A+ r7 d   
; d- @% c; n2 q! \8 L" ]   
; R4 \" H8 s3 P& ~4 x1 n, k5 b  s3 C: s    " d7 u% O6 N% q- o& H8 @( j
   : O, E2 v0 ]9 @% S2 _
   
+ y. c& o; y: S0 o; p' N% S& B' @, d   2 r5 P: R9 W. z6 c; m5 U
        gen pmaxphddy240=`tempmaxphddy240' in 1
9 m# R+ @4 k! j; X# q1 a       
& K; B5 q5 Z2 c6 ?4 I        6 |: Q; p# r1 Y( C% k- T0 k4 e
        *-------------ddy240pmaxp右侧低峰值 -------------------
, s! v6 m5 ~8 ~$ J* O- p. q       
/ l3 w* ]& F- o& s( r         preserve
# `( c! j* s1 @: G. o    v0 G+ q3 J3 G3 D
   keep if dx240>`tempmaxp'3 O) g0 S3 w8 v% C' ^
   ! A5 k& t0 r7 f6 w% _! u7 i
   gen temddy240=-ddy240
  K7 M; N2 Z* g/ @   # I/ A# l; T, b2 I( I5 H
   keep if temddy240>0! U' G, l' c# G7 [9 B! h9 y
   ) F8 e4 V( m, C; \+ d
   count5 X5 l& ~! N1 `* V+ u! |0 u5 d, B& ^
               
' q" K1 U" `2 d: I- A4 S  F( ^                if r(N)>2 {
- l4 Z# S+ ~1 @& V9 r: b$ g                 / w( ?# R$ V# w( c3 I8 H' a" b
                pkexamine dx240 temddy240
% J6 C. F  A1 h+ H- z, m. c. u( R2 I   . v" P4 N: t; u% A# \5 ~+ I# P3 d
   local tempmaxplddy240=r(tomc) / m2 }" _" w7 [' l3 O+ S0 X
   restore  t/ C4 T7 _* T3 U/ n& }
                 }
9 {( p* i- f7 _/ C5 J( m! y8 P                 6 i8 M3 q+ J( G- R4 H
        else {5 T8 j8 n4 _# z! j9 z" K
                restore
' P' X: Y( ]$ y                 di "cannot find pmaxlhddy240"" [1 p! i6 o% ~2 D* Q# f* V4 H
                 
& J, @8 t& J9 w- t# J2 O' {               
+ P7 R3 j, ~1 @5 W. p                           sum dx240
5 x' u' s: G, B; Y" i- q$ O- j% f/ y                 local tempmaxplddy240=r(mean) in 1
: ^8 @/ @6 T9 c* s7 c                7 s% f& H9 S9 _# s  G
                 ) h! n$ C4 ]5 [; t( d
                 }8 S4 I8 ^& l, f% G; G  P% N) X- m2 C
   / h. V: J3 U; g$ E: L# b3 x7 Q
   # |$ W" Q  X/ O2 E' Y2 Q: @
    / @+ V- n9 Q# Q5 A, C, Z
   4 R0 J! w/ g  D, Y9 P2 Y8 c% k
   
( c  v  C- Z+ `" C; Y! F4 s: n! H   
6 M, K7 D+ h# p        gen pmaxplddy240=`tempmaxphddy240' in 1- a  W5 P6 T4 h, _
        / G' T% H% H% l5 }0 n! w
        *-------------------------------------
2 |& b$ I; R& f   
' F* H. ]9 Z9 z9 n# L   gen price5d=v5 in 1/20; w" ~: L7 X+ H
      
0 h/ R9 P; ?, J& T0 p3 i   gen price5yy=_n in 1/20
4 i3 s: x) O2 R  e' ^( O- A, E   
  n: x" Y5 ], H. s0 W   gen price5y=price5yy*(dy240max-dy240min)/20
% _' h! ]; j" o, \" P; i   
) ]0 i8 x& e0 j& g% v, I$ X' a7 b   *price5y &price5d: G3 D  V8 E+ N5 g; v
   % M* q' ^0 ]2 [2 t2 e4 i+ |
   gen priceny=price5y in 1
, ]! X2 r$ _+ _3 O4 c+ `; I. R# @9 u   6 }3 z7 h& V: h, ?# y3 G; ]4 S
   gen pricen=v5 in 1
1 u# e$ f9 ~# P) M  F- ]! G; B( U4 u  v" O
     5 q- q6 e6 Y5 B' Y" N
   *priceny &pricen
* S; n& ~7 _9 P   
" r; q- r( a) S4 I$ s1 [3 d   
( U! _* ~8 A4 n8 T   *-------------------------graph------------------/ W% M8 {/ E! n
  
+ ^/ h/ }. k* _+ o0 C3 t  tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)) |* I% M$ E3 @) X
5 f$ ~2 k) Z! S( W) z2 _  l" b
* ---------可选项目----------------------( N4 t  u8 B5 r6 Z: Y
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
9 g3 {2 d! q( t}
& `6 t1 E4 y1 R" O* oend+ M3 n! ?4 y! }. }2 v& r) p

作者: maodeng    时间: 2013-2-7 00:03
awer 发表于 2013-2-5 14:40 8 L5 r& J+ m) [5 R
抱歉,最近太忙了; s: n& Z2 ~/ @2 o

0 |4 O9 E/ t5 J9 p. Y. ?5 z3 H300236 我用下面的程序试过,没问题
0 J. r, z7 z# s1 F- T5 M0 F4 P
哇,谢谢,我仔细看看,这些字母数字代码晕了* x, s  S. i) d: o3 O) }

作者: 喜欢喝冰茶    时间: 2013-2-7 04:05
stata是不是商用的,R里应该有类似的东西吧
作者: 喜欢喝冰茶    时间: 2013-2-8 07:16
awer  老虎推荐的一个处理数据的软件,很小,只有10m左右,很好用  发表于 5 小时前

1 ?9 p6 `4 Q2 R1 n7 D) c% Z4 }& X" @0 }# L& O; Q
这东西是开源的?知道有个统计软件叫stata,不过要收钱。
作者: 汉水云潇    时间: 2013-4-17 17:14
准备试一试% P; E/ w2 i5 q! p
先找Stata软件
作者: 汉水云潇    时间: 2013-4-17 22:21
本帖最后由 汉水云潇 于 2013-4-17 22:27 编辑 # L% x& s7 y) H! C1 ]) @  \* a
9 a% j0 i$ r. Q
晕呀' F: O8 F  i3 f7 `$ T
论坛复制程序代码+ {: M* a! L2 {8 B
乱码夹杂在其中
9 {& r. ^! J% [! T+ F# V8 _% u很烦
0 q6 H/ V1 J  i, D) H% j对了两次
2 T/ |. p1 z1 K4 Z9 O$ K6 W以为没问题了
" i3 i: R+ M" I  Y' \6 a- T
0 J7 S+ U$ `  f! Q4 E2 N& e: w结果
' o% T/ x1 q/ F1 s3 I) K0 ?执行后
4 D) R1 h. O+ X# H还是出现4 L1 ]4 [0 ]+ F/ }) I( x% q% e
r 1992 ?2 u8 s; E" E. i& l
的错误  s  V& X! m9 f1 y7 ~8 R

作者: 汉水云潇    时间: 2013-4-18 07:50
试验成功,下面是三一重工的图; h9 T  q1 E; p; P- r# m+ W' v) U# e

. {% U9 p' T1 X' X
作者: peterbev    时间: 2013-4-26 12:46
先用用试一试,不知道准确不
作者: 中秋不圆    时间: 2016-3-12 15:46
噢。。。这个帖子好,比较直观。
作者: bknite    时间: 2016-3-21 23:51
这个帖子值得学习。
作者: jeanny    时间: 2016-3-22 10:41
感谢!!!
作者: Hubert2000    时间: 2016-3-23 10:23
明月回春 发表于 2011-8-13 20:175 e& a  Z& _4 c
程序写的不错.
4 W9 {: _/ U( x! T% G* s, m/ K; N不过有一点要注意.通达信导出的数据,只对价格复权,并没有对成交量复权.所以数据需要手工处理 ...

* Z1 K9 m/ x- V! n) b( C( b/ K老哥,也是山寨这篇文章找不到了,不知为何?
作者: axiutime    时间: 2016-8-3 13:28
提示: 该帖被管理员或版主屏蔽




欢迎光临 爱吱声 (http://aswetalk.net/bbs/) Powered by Discuz! X3.2