|
maodeng 发表于 2013-1-28 13:13 # N4 K1 M: |' j: ?9 l
. hello 3002362 m( c. C# u* O8 S$ d- n& S
statement out of context
\+ Z s8 H4 s$ O' I$ f) nr(119);
' u) }4 o3 ]$ M$ O. E5 h* a抱歉,最近太忙了; K7 y, }% e$ p) K, a1 u
5 L y3 ^" X P6 d& J8 a$ j3 s
300236 我用下面的程序试过,没问题2 I" |) C' b3 \3 B
) v# ~9 ~& @; U; t
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试) T# l3 m6 q2 h' h
% ]8 m( V2 ]4 O1 O% Fcapture program drop hello
1 E( \$ J; Z: p ? |1 ^0 ?
5 N2 I; d) n. e) F |: Mprogram hello( u- g6 h* j: t' ~
+ V4 M5 o6 e* X
quietly {
: @, k: E) `4 H, A9 E$ s9 D2 J2 K$ W% F: r( }9 M; L3 L0 r W
clear
+ t, ], {0 ^! D+ ~4 k y9 O5 x1 C9 g3 q
cd D:\stock\test\source
+ x8 K ^0 m. c2 X
- q8 \- I$ d- z9 z8 ~! v! einsheet using `1'.txt
) U, V- @& X& X7 m \7 i$ z5 M1 H* g9 h$ l0 H* D
keep if v5>0
6 P' u( s2 u* x7 K
7 H0 |3 z- m! L9 i gen vt=_n' b a0 m; D) n# \, X% W
0 u2 N5 l6 y8 q4 a/ a% `* r, U tsset vt: ~8 U& t* L4 ^
: g3 z, f+ b. L* C& ]9 ? gen zf=D1.v5: n- H/ R% c9 ]' Y1 c4 [6 n
7 {$ o7 [; l' s- L
gsort -v1
+ ^( F$ V+ `: y4 [
$ a% @, u% s, u" @) f% D5 h' z gen avol=v7/v57 y8 ]# F/ @2 Z3 f% X7 D6 c
: n, G+ h5 [/ C- t& o
keep if avol>0* t# l7 ?/ S i8 ~: x. i; N7 C
0 }: s: u% g7 b9 E1 z# M @8 g: P drop vt
, t% w0 }" R9 n" W1 i" u8 |; \6 E & r" Z8 y' D2 K5 ?1 o$ M; W
gen vt=_n% M; `) |! K6 [- G' a% w0 ?8 a
5 A, D! t0 w+ m( @/ L tsset vt; w" X$ K# ^/ h2 d" \# n. P) K
- d! c8 Y3 O3 L) s. g" U( o sum v5 [aw =avol]
! y, m/ Z3 A7 l6 y$ h1 C \+ w6 o! T: ^( C
gen amean=r(mean) in 1
* f6 |3 H$ m7 E. z3 |4 m t% i5 g 4 E* J' e* Y, O: R& F4 ]( Q1 K
* 总加权平均值 amean
' b+ D$ D! f, b
3 O6 f! E, d4 X) D6 @5 I |0 y$ V- _! F2 S* L0 q
keep in 1/2404 _/ E: \4 _" C% x. v
# w# I0 j' i! ~1 p, }3 D
sum v5 [aw =avol]+ o% w% I$ _ x* g
' j; _- b- q2 u3 t
gen mean240=r(mean) in 1( A/ U1 E# j, D+ o9 u# {
0 \, k0 p( t# \2 x Y0 O
*240加权平均值 mean240$ V! P8 _- F* {
5 G! N4 o) N! v8 S0 j8 G set obs 500 , C" Z0 P {+ a6 B9 E1 T ?% \
- B7 s! E& H: K8 r6 k
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph1 ?5 b1 f; _" t& _
: w6 Q j) x5 n' e *240 kdensity(dx240 dy240), o0 W: C5 m X! c- X d. A
3 h: T) b: K# C" a) w
sum dy240
9 R \; Y4 S" i 6 w3 S1 V* }! u' |. @; {" Y, Y
gen yxis=r(max) in 1
# o6 C# Q$ x- A& i1 ~# Z4 t
% Z. Q- ^: M7 u# G gen yxis2=yxis/2
0 H" L l9 }$ R) X
7 o* w0 p+ H+ W+ C *yxis
% Y, B+ y2 _- ^3 S) P " B& H' Z8 ]+ o% \
gen dy240max=r(max)( O( l6 \0 s- Q8 ^' F
! [1 y9 k7 [' P2 d5 c
gen dy240minp=r(min)) t5 g J! z# O5 W
0 a- u+ `; P$ @% s$ Z* W
gen vtt=_n6 v3 i1 j8 p2 U/ ]: c( c2 E
5 i; f9 p) S: T/ S2 o3 {& \ S' I
tsset vtt
& Z* j% [/ O* B O$ Q, \% @5 r+ T: M! Q, G
gen ddy240=D1.dy240/D1.dx240
2 ?3 o" V# m9 A! O' Q5 Q 5 G, V* w) A' u2 J+ p3 W
sum ddy240
3 n8 n* h y0 p& t1 ]: J/ x7 O R 7 b5 P- Y* e% w: M) G3 Q( U
gen ddy240max=r(max)
9 h/ _! q$ R) M& g
7 g# e) c' Q7 Y7 P! L gen ddy240min=r(min)- x" s) l+ s* x/ ]2 l8 s$ S
! v9 A) e2 t0 y7 d: Y
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
5 l- t8 b3 O1 G T+ ?2 D8 Y
" h: V* X) m/ ^ Y0 v2 m# r" |/ L sum ddy240g
. ~& Z$ w3 [7 H
4 |5 \5 }3 k2 c9 A" @ gen yxis3=r(min) in 1
/ E* F; ~4 b; C0 x2 x6 J/ X K- S# y0 d, W5 [' k
gen yxis4=0 in 1
6 u, |% ]1 g# H1 C9 W" T$ \
1 i2 v7 ]3 K0 m7 z *ddy240g % L" J. S3 C/ C [8 ]
9 m" h, {. l1 z) R$ V
& R( J: m. z- O. K7 M+ W0 r( r preserve
4 e9 \# r7 s" h0 E : p& k7 P1 M* W5 R
sum v5 [aw =avol]
% f4 |! A' M0 D0 q
* T+ }8 C# e6 [/ W keep if dx240<r(mean)
4 ~; n' s+ _2 C# z( y! P( ?
1 ?. u% L- f8 R! X sum ddy240. c; F' u3 {+ H# s6 m
( L' E4 T4 _9 n: Z, B) T if r(min)<0 {
m& w1 j3 }- ^! b4 g z/ S+ |- d6 ]5 _
keep if ddy240<=0% J: w/ `1 x. Y6 j
* \' H+ b9 Q; _7 a: w
count) v; L g6 d; Q7 s
/ G7 @ d- {0 Q n1 A2 S# c if r(N)>2 {
3 v7 s) L) Z+ _" E* T, W
0 Z$ T F% o% `8 d) A* s B* C1 Q6 c pkexamine dx240 dy240
: r. A7 p! m$ @
: \( [" N+ G$ ^0 D local tempminp=r(tomc)
z; y. b1 @, _4 Z/ t restore
! G' h* o U7 K5 N6 Q }
% v/ g- o9 Z! Y" h( [7 k2 N
) o' b; g. S! v; {& j else {& P( g3 Y ^# ^& Q4 w
D" V% ?3 k; g! J; f7 X di "cannot find minp"2 Z& _9 Q) E. X4 E' I* F
- v) r/ @$ s9 A& \: ?4 K restore
8 @) f$ J: ~- B, k) l4 D sum dx240 @- F- T- i6 ~
local tempminp=r(mean) h+ l9 G( F# h3 [. W. ]
+ T3 |! \% G& g" G9 S; e
}
8 a& f. v3 I* n8 b }" o3 ~/ l |- z& L; K r
else {. c5 q* W; m' V+ P1 ?
. [6 V) A# i4 D9 ~ keep if ddy240<=r(min)( V7 y0 u- Q2 m! w7 W, k3 K( v
5 k* f* R' x9 F2 E sum dx2406 P9 X/ i n+ I; X
$ ?: h" w7 h. n. ?5 P+ H local tempminp=r(min)) h( d8 T. K' N3 K: X Z
restore # V, x+ ~' q2 M# J
}
% F/ Z$ s( I2 Y$ a. t
7 S2 l; P8 G" x# P! v- d1 F2 {
% `# `$ g6 n) r3 ~/ u+ {- @8 |
8 d' h7 K& H# L1 s- x; E* T' Z gen minp=`tempminp' in 1
k( F+ X9 h- c *240 minp3 C9 r( d$ [# K; }
' v, p6 Q$ P2 k
/ X( t8 w* s m! W0 [( h& B2 N
k+ i& O) f( C- g8 U
preserve @! A# \: I+ O3 l
* D; b( d; l3 n, Q7 i$ u1 C sum v5 [aw =avol]3 {2 d Z7 d* B/ l! z# J5 A$ W% y
) F5 D$ x5 z$ M! l4 o
keep if dx240>r(mean)( T1 m: l; w& P2 _8 J
! M; X8 f& {- x) g& }" z sum ddy2400 E3 D8 O$ U) h* f- x
Z8 \1 _* Q3 f- S% Q
if r(max)>0 {) U) K1 s# v n7 h/ G5 [+ k1 H
% Y- N- O2 c' ^ Q% G keep if ddy240>=0
3 d0 \5 Y' O# I# l- g
# Z, q& ?' h) w, F0 U8 i, | count7 i1 I( Z& }0 V* V7 J5 M
1 `1 J8 }, s8 g4 m7 P
if r(N)>2 {& t; x6 U# ?8 K5 h. t9 d
4 A# s2 O) g+ o, z" i pkexamine dx240 dy240
) K: B/ p# Z A) l$ S
- ^9 l1 a2 E. d local tempmaxp=r(tomc)
$ [* N h( H) G8 C9 m* W2 [ restore ) j6 t( L D& C8 C; G6 C7 R
}
. J% }6 n7 ~% g& S a3 c" U & T4 v! c# [* I; I) G' i* b
- y1 T- {0 L* T) E: C
else {, A' U3 W( i; L. M) l3 u
restore
$ {( w- A* X/ m" Y di "cannot find maxp"4 j- T: T" @2 n3 n
, E8 j! [5 N1 N; Z
+ O; X/ K7 `! s* k6 x7 Y G% L/ h n6 [
sum dx240
" Q6 K, Y+ w2 S local tempmaxp=r(mean)
0 n9 w1 a1 c; T7 d7 n% d
) ^, d1 u0 A: G7 ~6 d }8 l" `3 |1 U1 o1 T6 S2 S6 i+ g
1 I0 ^. D5 X3 y8 M% [: { |9 i }
% |0 U5 W: H' ^$ @+ a2 a* ]3 u5 W ) |+ K4 ?% t0 n" U) ?
else {
& w) u1 x2 u7 U3 k2 ?' q
3 C# f) S) K8 K v( T, q keep if ddy240>=r(max) S' l* J6 j1 f$ N/ o7 k1 v; o
# x5 m/ u9 `: k' s/ o5 E sum dx240) i5 M8 \' I% _7 o9 `# b
7 v+ ~9 S9 h& B: J) T local tempmaxp=r(max) 4 S* r5 X7 `- W! e: r
restore 7 p7 w3 O: _* F5 b7 [' ]% E
}
1 t& k; g8 I( Q6 Y6 h3 U
: Q! H- U5 { S" U. t$ S% X4 ]! z" a: S+ d( H
- c( _6 j* {2 q
: r0 U) o# V h7 x gen maxp=`tempmaxp' in 1
) J( H* U& c' G% c, i0 o 8 k. p$ ~- r7 m
*240maxp
2 d. [6 D' F) l' w9 k
7 |9 h0 O5 l" Z7 Z- {! I5 N $ F1 r: n7 `2 ?) p5 i
*-------------ddy240pminp左侧高峰值-----9 a& g% w" h! _/ x8 s% D6 h
3 M# }' B/ e6 i$ l% q2 R2 G( y
preserve 5 B0 K! @. J$ ~7 E) v; m8 f% l7 p
h/ f& n* N& m, D$ [
keep if dx240<`tempminp'. E7 a% ^+ }4 M
: @8 l8 p7 C! z6 _, ?7 L5 A9 C
keep if ddy240>0
# \/ b/ z6 o5 n+ v/ j- F( |, E
% ]) i8 T, \5 C3 X6 j; u count5 r* T( V. c1 [3 L9 o& G( l' A
: c) k d6 `% @
if r(N)>2 {" N1 @" Q2 u* g0 {
! c* i$ g2 ] i- [5 h/ b
pkexamine dx240 ddy240
4 U/ A# K3 L& Z9 N0 k 2 S$ S1 b' Z: W/ b" v
local tempminphddy240=r(tomc) 0 p* y7 @! }7 i# k) \! E! P. |; f
restore
7 t+ Q) ?* F+ r5 _/ z0 u8 m }
# K: V3 y Y9 x7 q3 m; [8 I $ r! o7 D5 R8 K
else {
$ ~7 R* U# ]: } restore : ^, s0 q0 D9 s8 a; s
di "cannot find pminphddy240"
1 O3 ?( a* M" P
+ r- H2 |4 W9 l% ] ' F' l3 [$ D/ w4 V/ b
sum dx240( O- A/ a1 P: V- a( G
local tempminphddy240=r(mean)
5 q2 R$ O. l0 L/ K6 j. ^ * p4 U O O5 W) V' E3 [
5 h9 }/ B$ E8 y" S0 Y: ] }
! N4 }9 T; M1 r+ X# M + Q: I( M6 N$ e1 J8 t. \
4 c+ T. l* z, j4 O# V' S# k' v : s- y+ @8 ^! N1 _- l
3 X- v% k2 e' Y1 D0 ~# b
' s, ?" H- P, @ {
8 S0 s3 U9 r( E% s" F* \1 B gen pminphddy240=`tempminphddy240' in 10 ?9 V/ N4 u+ e. I! W" m7 e* m, m0 f5 j
2 p3 h# M. W6 l, [$ u+ h
) w5 }2 v2 _0 E' `" M *-------------ddy240pminp右侧低峰值 -----------------2 c! `2 t5 k. c7 K
preserve
5 n, Q8 H, V& C' I8 C, _
e2 k1 S7 E4 u' L { keep if dx240>`tempminp'* \- ?6 t2 B2 h
7 D' l" G* B E* B/ k
keep if dx240<`tempmaxp'
8 E5 z1 I, Y3 o v+ J! m, t/ n 4 `- P( p( R7 S0 F, c
keep if ddy240<0
6 D: N$ B3 E( X. f8 \! g 1 I6 ] i. f6 O0 r
gen temddy240=-ddy240
7 M* ^, c, t! g: A 8 Z! G" t* E9 X( R5 T$ V' R
count/ ], K6 o% @/ A3 B$ s9 l R# ~2 i
3 T$ H2 J. b' B
if r(N)>2 {
; \( v/ B8 g+ l: H" p" W 1 m. [1 q/ n( C, E, y5 @8 K( `5 H$ q$ z
pkexamine dx240 temddy240; [5 z- I# R0 J3 ?8 L
* V, g# |, { C' C* e
local tempminplddy240=r(tomc)2 a' @' @' B+ l% X- }$ r
restore7 y; u7 K3 }1 j# @
}
5 W' Z9 N$ k' ~0 ~1 Q" D3 p; B/ n + |2 Z, Q6 ?+ H( t$ I/ Y- L- M6 l
else {
2 D/ }1 p# |6 ], Z8 j: b2 ` / T/ J) o# ~2 T/ c5 @+ a0 K: a0 l
di "cannot find pminplddy240"! ?9 c( X- b; k% x" L- {8 |5 c
restore$ i. n5 ~) w8 s7 }, C
& R; d: u' q) s4 q) ~5 r- t sum dx2401 K2 @9 Y, B$ n4 S' }( i* F
local tempminplddy240=r(mean)7 D% `9 y6 x/ Q4 ~6 _
7 B0 u- V6 Z# g% M0 s
0 Z& Q- h0 [- @$ T6 Y9 V) @5 Y) y }
; \" q' ~1 \! n3 t$ Z 4 _% X* q# o& h1 x; l
; D3 m. {, h7 N$ Q, [' B2 x
/ L) z* R' y7 u9 h% ?; [! Z
: r& c2 t# n9 S
) t q; A* A; B B- X gen pminplddy240=`tempminplddy240' in 1$ P9 k" @ Y" W/ K- R/ {7 s5 k
9 ?9 H7 M$ C1 Z: a9 _! ]0 s
*-------------ddy240pmaxp左侧高峰值 -------------------
! \( @1 z( C5 ?5 a ) p. i8 B4 O1 f0 C$ o7 [
preserve 0 ?, p+ d$ L+ F# V) A
' s# q0 V& s3 \. D: b& w# ^5 F1 Y keep if dx240>`tempminp'
, c# X8 d# }$ v/ b: j # n- @: V @! [: n9 m
keep if dx240<`tempmaxp'/ A. I& p2 \. s1 J$ |
/ f! _: c' S) E- B
keep if ddy240>0
* z7 I& C* \9 f) a) s( c9 @4 W7 M count5 k: d; Z6 Z" x$ F% z
1 b: l& R, s2 |4 N+ M if r(N)>2 {
% K* r# m6 n% P, E! A7 p8 Q! b2 Z
8 N' k( u9 G. |. R0 z4 ^ pkexamine dx240 ddy2408 u( K. {% l w- n8 D( ~
2 \( X: C2 d3 C: J2 I/ ~9 v
local tempmaxphddy240=r(tomc) 8 e' D2 d/ V- w( H" B% @
+ d2 @6 Y( `0 a. e4 C. g( y% b7 N$ w restore
0 Y, T" u6 j/ z5 G6 k* n }6 p# C7 @4 Y+ p) b
2 o1 Z5 `% B: p5 |0 C" e9 s5 T else {6 }( O5 z# f# }# C+ Q7 P
) X+ W4 z0 v0 A' F# ] di "cannot find pmaxphddy240"/ z4 G+ I3 ~% w$ p6 c. n
restore. ]% {8 }3 x- s7 z* P
3 i$ c( m& {) P& `' h6 Q% s, {* z
sum dx240
- H l, g- b* u& C+ y4 a" q local tempmaxphddy240=r(mean) ) a. }) d) z" E" U9 ~% p1 }
) {: q& o: \/ n) n& @5 n2 l; U
* Z1 J* u G% z/ O8 }" J2 Q% t }+ V/ D6 f( }/ h5 `4 N# a
6 e2 d# w e" d" Q; o, c1 [ ( N- D# f: S; i* f
: s. o% d7 x- ^5 X, }3 e ^ ! ?' W! a( _& e: A0 W4 [* O @2 Z
; l: ~; @1 l) L g7 {
/ k5 x$ M9 e4 L8 o x* b* E gen pmaxphddy240=`tempmaxphddy240' in 1# O, N/ D6 D/ [5 B
1 D M% p) Y* z e) Z
% u1 `( u) D0 x! }- C( m% f8 n
*-------------ddy240pmaxp右侧低峰值 -------------------9 { s @# n! n* N( i h
* a! n. Z* Q; z9 @ B) w9 i/ g
preserve
* K7 P9 z; Y) k9 z' `
5 B) h7 a, H9 C" P6 [8 } keep if dx240>`tempmaxp'
- Q6 L- B+ d* g+ \$ R ( t: Y6 N" k6 L& z
gen temddy240=-ddy240
) C3 ?. {) D+ O
: \8 T5 Q. r: D4 o& p keep if temddy240>0" Q& X" {; o7 g3 c) m: W- `
9 z& d! f7 t2 ]% c, T6 f( b% C- |
count
+ s1 C6 }: Y9 w# x4 L; U ]: U% p
3 Y6 b+ X2 S( Q' m if r(N)>2 {
3 m* ]; j' C1 \ o0 f8 A1 K
. M7 X: l* }) l' K: x pkexamine dx240 temddy240- {$ o: T/ ^4 i5 M
0 x+ L q Y& x, G B local tempmaxplddy240=r(tomc) # L) T' j1 r/ u2 i; W5 ]% A
restore
3 p& H4 b5 g( v+ T' M( F( ] b5 t }& ~& Q3 `1 \, A2 E' \1 r' j
4 f7 w$ y0 X1 C! b. ^" P0 o else {
) c4 W/ p; q. k* a% O- k: b7 [ restore
! H d: O8 S3 h8 l$ z L. n/ @ di "cannot find pmaxlhddy240"
7 n Y; ^5 V" A# H! B- q" r8 A 8 L8 \" F+ A" k9 c3 }7 B8 P
* X2 ^" S. } I; v% D/ D, `8 z
sum dx240
9 n. T5 X$ O5 m1 j- N! K. ^: E' A# t local tempmaxplddy240=r(mean) in 1
4 {: ] j# b9 o" ^# K # {' _, x/ a3 V [- G( S
. B0 ?! z& ?" V7 c' N }
: O' u6 c6 o# f/ ~/ l
# b; S- E- y2 @% p 8 \& ]' N/ I F( s; k
) b) V+ O# s5 y" l6 U
2 H5 q% g4 A% h0 C& i" t% u# S+ P
' p) @/ }2 Y, q' t* } % l! _2 q- e3 P) I2 g) E
gen pmaxplddy240=`tempmaxphddy240' in 1
! n5 l! e# N0 J+ E# l
9 K* l1 I9 K) f: g E; Y& @ *-------------------------------------
5 ` C) o E$ N$ a * g' z/ y& W" w8 K1 i- U5 W
gen price5d=v5 in 1/20' K/ F8 P9 D' K( g- e) h
8 e: Z0 p5 A" `! p
gen price5yy=_n in 1/20+ n0 J* h l9 a4 Y
3 q8 D' O, d2 ~5 t& o+ Y
gen price5y=price5yy*(dy240max-dy240min)/20
) M6 C; V1 ~" I) {5 u ^: M
% K J0 v$ {/ c$ e/ r, e' [4 S *price5y &price5d
% O. z4 V3 x" Y$ f- c
5 ^5 q: l, J7 M2 R. d gen priceny=price5y in 1
8 C1 |9 E: a+ w) E: Z
G* T: { X% \( U2 r4 i" m gen pricen=v5 in 10 o1 Y- c$ A; E' Q" F
, t, y9 H$ K0 \+ k1 ~
+ l3 ?2 U: n* T+ ?, b4 c' _1 T *priceny &pricen
; }8 q- l. M/ P1 c4 l8 X- E
: N2 _4 k& y2 e" z9 G # z" W" |1 l; Q) ?8 v7 i
*-------------------------graph------------------
5 c6 h" ^4 W7 q) U- Q: L
, h7 d: O+ x7 r" |4 A' X3 _ 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)0 |1 u$ N, q% N$ u
/ Q) X) V6 O9 w9 N1 |* ---------可选项目----------------------& N0 A# ]2 o, `# ]0 i4 R
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))0 _) t3 U* f: i9 A6 G* {& `
}6 y( f$ u% b4 E& b* |* X
end
5 W4 D. `5 \; ?) _! O |
|