|
maodeng 发表于 2013-1-28 13:13 ![]()
3 M8 q4 f3 Z+ M% p0 q9 ~! M. hello 300236
7 }- q c: T& _) [1 cstatement out of context9 q8 I h& C; X* |7 R0 G8 Y7 ~
r(119); 0 j* r# u$ W$ `2 Q- \* z
抱歉,最近太忙了
$ f9 M) Q- T! L5 l# b: h1 o8 k0 X6 T1 z( O: f( Y
300236 我用下面的程序试过,没问题% c1 r8 e, @5 Z+ @+ J
% i( D- n6 x. X7 w7 [* t$ z0 \, l
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试 Z9 d, O( |- p; _& t, d
2 e4 `2 {; Z& d* `% ccapture program drop hello1 K' W& b+ R3 n$ f# u
# G2 x6 ~" T+ a$ e: Z/ dprogram hello) Y% l( j& F1 Z( [1 A8 c
5 b1 R$ L8 ^: ?) o quietly {
5 D" V! i* d, b }, b* M* J- @- W' r2 j( H4 {
clear' r. e( w- q3 A3 G, l
2 X3 i# w4 s0 t3 w0 L: z% Wcd D:\stock\test\source! G# i6 k9 _: _; k7 v" ?) v% a
; e5 f- g, w. \) [* V4 X8 ~ k1 Oinsheet using `1'.txt [9 e& Q, g& Z9 @: |
# V+ @* `% {9 v- W& ?, J* b9 w
keep if v5>0& Z, E( B" ~, B' X* N; ~
C: C q [1 M, `0 \; t, F" Z* t2 Q
gen vt=_n; n+ J8 n* Y1 |- M c
, x* d2 {/ r' \/ s" ^' k/ e
tsset vt
) P: y7 W- e) M6 |
9 m$ f, G9 A* L& T+ x4 w( l gen zf=D1.v5
8 D/ q& h/ A$ P9 b) Z( u
* a4 j& u2 g7 A9 Z' c2 r- M* h7 n1 A gsort -v1
+ x( d' E: V, H4 e
& Z7 D/ C+ H3 s! @, p/ i) n: Z gen avol=v7/v5
' t; V& Z9 D# ^/ m
- U9 h% q! u, r( V0 N( U/ W. D keep if avol>0
8 D2 F$ A! ?8 V1 u
& R6 |, N6 ^" L8 P/ B4 p1 M( ~ drop vt: z! d, E# D6 x7 B
0 A" V8 t, y- d1 [4 I gen vt=_n
; h' V& {" m7 X' p5 i) ~
% s& N% A r3 b5 g) K4 f tsset vt
+ O9 A' B- i1 E5 W1 B: C7 i
5 b+ e3 s( a' H7 b! a' W {) T9 S sum v5 [aw =avol] r1 g& k3 O, B# U
6 {) H# P% S) t
gen amean=r(mean) in 1' \; U+ j% Y+ W$ T! X
5 q7 h) G9 L* h8 q" m6 a/ N * 总加权平均值 amean
/ }' u {2 u. q
3 [5 [( Q- r- h7 V& z" B
: ~& I! s. c' d7 I1 {$ E2 e keep in 1/240
. G4 m: {* @, L4 X9 q2 R6 F/ D4 A; q* J$ O% h0 w* k, \1 \
sum v5 [aw =avol]
# h3 i: \8 s' ^8 E) n! U3 w2 O) R5 L u9 J, e* C+ [( Z9 ?9 E5 f
gen mean240=r(mean) in 1
4 y( h7 Y) U' ?; v: B0 I; a . Q) T0 ?# Y3 X
*240加权平均值 mean240
- g) f5 ~9 g( J/ D4 m
! k0 L7 \- M6 q set obs 500
4 Y9 g- @! _1 \
`; R/ z5 b9 G% h/ J kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph, ^7 e! W* y9 R; H3 Z
! p0 N' M: V- ~! ?% a! r
*240 kdensity(dx240 dy240)+ B/ N1 s( H6 E, @0 q
0 e: d1 x6 O' ` g i P6 @ sum dy240; ]+ `$ y( s9 L3 w
+ Q! n% o& d6 ^6 o
gen yxis=r(max) in 1
+ o4 a4 ^9 h1 [, B8 w
; b* j7 X/ @ Y% _, F: [ gen yxis2=yxis/2
0 b9 k2 l9 G8 w* E' c
5 ~9 ~1 E, K/ X7 A0 A: E; |; \ *yxis
6 I' Z7 q5 t. y! ?' i' v : T, T B$ q) e, Y
gen dy240max=r(max)0 y3 q& ?6 K3 r) C, T
8 G% J ]* |% o. j7 ~2 F" [& c
gen dy240minp=r(min)5 f3 j8 O, ]$ p5 b) v8 | u2 t! Z
" m, g7 j( `# K8 [3 R b
gen vtt=_n5 L# `0 a2 h! \, @7 g3 P2 _$ a, Z; f
! j/ ?" }8 ~( X4 ?/ E+ m" h tsset vtt
) A' t" @1 f' a7 B( `" o$ P
8 r2 C+ A" k: p( S" g" W gen ddy240=D1.dy240/D1.dx240+ q' F2 ]) Q$ s0 h! u: E t
U' I* z& s+ g sum ddy240
8 G8 V6 L+ I6 _" j5 }% }+ ^. t$ m
; }) O. F, g* r& J gen ddy240max=r(max)
3 F3 S. P. E2 ]- F: C
: }/ Z' A' S$ ?) x& a; ]# h% ]) w- \ gen ddy240min=r(min)
4 i+ F& t! P3 b1 x# f. u . R* Q8 F( {. W" }. B" a% ]+ G
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)7 m( L m I" ]$ h- M; N
/ O7 h( w6 I6 B- b8 S sum ddy240g
7 i0 x: A4 ]$ L' J( t. W8 l; h
4 q0 b! N" \- Y: ^ gen yxis3=r(min) in 1' N5 V( E Q" K1 f: m9 @
9 u$ f( {7 C' f. ~0 h& f
gen yxis4=0 in 1
; ~: R$ |! c. i/ B: V' b - Y+ u5 v R' `1 G1 t2 ?9 w# [
*ddy240g ; ^" Q: L# {# l) J' K
, |4 @0 |+ r6 S+ d$ n1 R1 S+ g- V% \
5 U8 g2 h5 T& l/ w% Y+ L
preserve 5 b O$ W1 U$ n) X
! ?: h7 W% o' K4 a/ f sum v5 [aw =avol]
; e: Y! T. l0 ]" Z( C( \6 ^
7 x" q0 y" @; a! C keep if dx240<r(mean)
! t) ~0 b9 h; F
2 ?$ J2 w8 i# j) n9 g( R% F sum ddy2404 ~2 }" C/ x6 w5 D" D' N) Z
. |& g1 W, @. E if r(min)<0 {
7 E: s, [% a; }' X7 S ] L0 Y" A$ y7 y7 ]# {. I/ f8 M1 e% O: B
keep if ddy240<=05 g/ k- ~- b+ h8 z, F _9 p* ^
! O6 \$ c$ J) c
count M2 I& \7 x0 ~6 |. J1 @6 w- a* p9 w* f
% `7 \, ^7 ?! M: \7 j if r(N)>2 {2 ~- q5 B% Z- t1 K# j/ s6 j
/ N- O. `8 J) G% E1 M9 ?7 c# T
pkexamine dx240 dy240
( Y& d8 c2 _, t7 z- ?; f
! q# S( b7 _2 |) [7 h5 P local tempminp=r(tomc)
; \0 k/ c# G9 v* q restore
# k# x, Y- F. `$ F9 j }) j- `- o5 X: y! @, K1 f I8 m
2 Z+ C% q& p4 C" o else {
6 @* j9 r1 Z' |; w: P) E- U1 b
4 Y: e h* n( E1 E di "cannot find minp" n: Y6 L4 z' s: ?2 _0 O( R: k0 g( s
* _7 A# B* S" Q8 S8 i/ ~6 s R
restore
8 @: W& o' o6 s0 L: k7 `) w: W sum dx240, Z, S0 a7 D8 |) W/ s% u f
local tempminp=r(mean)! ~' l$ R$ j( A3 h( f. ?& L
G# r9 N6 A8 ^ G+ W
}2 s3 U+ g+ ~7 z/ U8 o9 b
}; x! S" Y6 D8 R" o k' R
else {
2 S, H; H! K3 c, P & f6 j' I0 F$ G6 _' F8 o
keep if ddy240<=r(min)4 n2 q$ p/ h) Y
, G- Q" U8 Y( {
sum dx240/ y9 @# q0 ~# d( a; t9 h0 I9 @" t
j! A0 Y# @) A6 t$ a) M$ T local tempminp=r(min)
+ {$ Y, k" M* }5 H) Y. t restore
1 K2 X* C" l$ E! y: ] }
! z6 S3 I4 k( p6 z9 f3 S
# e0 ^) B0 W& u" S
5 j. y1 o1 E/ b$ l9 o* \" w$ L/ E/ ?) x
gen minp=`tempminp' in 1% b) b2 q0 }1 i
*240 minp. [, s7 m& D4 W1 V
& |; H* u2 A' z5 C
, a' W' o9 ?& k- p# R6 S 3 Q( t+ p. [7 G
preserve
3 m# o$ T/ {3 V 3 L8 C3 d, m Y) H0 A' P7 L9 y; Z& S
sum v5 [aw =avol]$ F) j G9 J3 J- T- _1 h
, r, f- E' C1 H- X
keep if dx240>r(mean)
' ^+ c4 t. i2 S 3 ~' R& f6 L, t* }/ q
sum ddy240
/ ]+ \- D6 w7 M- m/ X% A ) T8 x9 t9 h, Y
if r(max)>0 {
9 v+ S7 S6 Z& S/ G
" L9 N+ s6 g' J9 a0 M: d& g keep if ddy240>=0& V/ W; u$ u4 y; I
+ l8 R. ~5 e, x- H3 Y, L4 n count
} `6 U5 D2 \2 j+ ?+ i , B, b% l' t8 y! ~3 ?* o N- k
if r(N)>2 {+ M+ L; v" R! t c2 P8 H
; {/ }! @* m; e, V# H) J
pkexamine dx240 dy240: O* k4 R# C0 C( R, u8 j
3 ? B+ c! S1 t( g4 v% a local tempmaxp=r(tomc) 6 X* w- x0 d, H- }
restore
( V9 M5 f. p% m, Y0 S3 C/ c3 W- M) j } j9 r& g7 F. l. X
z- r/ N; b" h1 F$ s. a. g. T: b
; Y8 S) l) C$ ]& R6 N
else {$ r* y, |7 x* o7 a j9 r
restore
2 T) F9 G9 G! A9 B$ R" Q6 @ di "cannot find maxp"; `$ n5 K; D1 z
7 d' i- G& }, C: K- p; O/ `
( N4 B0 S5 R. `' S9 I
sum dx240
6 X7 v, K/ [, x: B local tempmaxp=r(mean)
/ Z) p' o# P! h0 W: @! H$ h , \# N" f# f2 J3 t
}" i( ]5 B9 r$ b0 _$ O
$ f! a! _& z) u2 c1 W }# W8 g& H8 F: e2 H. G) Z8 `1 [: R; \
" y3 p, l) |) a$ l else {
7 ^6 r' }; }. J& B * e, _) z# x# S7 r7 }! F/ F
keep if ddy240>=r(max)
, c% d, T1 {' ?, N! T
, s7 |" f8 ?% l# D/ Y. S sum dx240: h5 Z; O( n& g7 y. Z6 V
U3 K. z; `. {. M( g
local tempmaxp=r(max)
/ q: ?6 J# n* q4 [ restore 8 E# D t7 M4 G8 m: R
}/ E$ |. e x* S" _& E" O0 L
5 T1 m* \1 s* d% }) I' R9 C" Q3 {; N. `: ]( s4 v
. a4 e- a4 l1 Q* T, A2 K+ U
; b2 f* K! \7 R! g/ J gen maxp=`tempmaxp' in 1
W, z. G* R# ]
& \& d1 m; i2 t) F' k2 p1 i *240maxp. d4 v9 k; @# {% v3 I, d
' U# w. t. i- J1 R- o7 Y & Y( x" p" D. b" r
*-------------ddy240pminp左侧高峰值-----
0 M1 V, k* U5 p8 L: u- s1 J4 Z $ e& M4 D3 `# U+ d
preserve
/ w3 @" o" T' k! ]) |$ f8 ~- d ( N+ {4 P) c9 a6 O' ]6 `0 E7 i
keep if dx240<`tempminp'
) |4 n8 w8 [% u) M! |3 F0 y. K
6 @, B! N8 E2 J2 k& S keep if ddy240>05 ^7 e2 `2 ?; o6 e, l
, l+ }( ?3 w1 A; d count
& F" K' E. c* p, C0 G
" z2 `' P% }8 `* a7 w( t0 U* O if r(N)>2 {
4 E+ |- F, X( t4 Q: U! Z4 D& c - O8 a K# h- y! w: `' W
pkexamine dx240 ddy240
- c2 `: X* H" D9 B* a1 j2 Z ! R' g5 B5 P- Y8 J
local tempminphddy240=r(tomc) ; U( G, M* r+ t4 O7 N% U
restore) o7 v5 U( e: Q2 d
}
; A, B4 k+ `( {7 f
; M5 t: ~- C# q: x2 \% j$ q9 M7 h else {
9 ? G. w: N h restore
; u$ B* ?: S1 ?) }/ z; p: V di "cannot find pminphddy240"
( a4 ~+ D% d0 X& C5 b
! D+ D, D3 e+ v$ p/ A [4 O/ g+ Y; U, v" a; m
sum dx240$ s2 j* \# D5 @# M8 P
local tempminphddy240=r(mean)
$ I9 g( F2 Y! L
' _5 h! j9 Z# }5 c- Z 6 Q. N0 l- P) j1 d! Q5 Q, R% m
}
. E: c2 O+ M4 N; \
- f5 O- e% q. m8 P
* n$ [: G! U& i" x4 _
6 ~: J# X5 `9 ]8 v) }* S# X7 t ' v9 S7 R7 O- D2 H! @6 p2 [. w' {
7 v: a7 m# u# f9 }, D ! f' n$ w( B9 J
gen pminphddy240=`tempminphddy240' in 1+ o- a7 N9 Q4 F7 t' v$ c! j
; ?" H, `, V1 B, x
* i8 r8 K7 Y4 M G
*-------------ddy240pminp右侧低峰值 ------------------ @. Y; X- x+ t1 H# C' _
preserve
# R# F3 p5 N9 a: D/ R$ h W* u * B5 F) Z9 }/ G6 d+ V2 `4 A
keep if dx240>`tempminp'
~; t' W( t" S" H0 ^: l , O3 C) q6 d; N) I
keep if dx240<`tempmaxp'* G9 n" Z+ W6 S4 H* W& n
4 `, g! e3 ]" K7 A% @1 k keep if ddy240<0
2 U( D$ @+ _- l4 ~) y
& @! f# C" l% G( ~" A; b. n gen temddy240=-ddy240& Y! ~( S5 Z. f7 }
$ {# B! `: B6 `2 R) h( ~5 k
count# z( h3 E# o. p% G) x( X w
. h2 c5 Q! | q1 \4 n" d if r(N)>2 {0 _9 M; A& d0 |$ {
* e8 F& f& g9 G5 j7 f: h( _
pkexamine dx240 temddy240! [ K6 P( W% P0 s& H' s- G
w* ^) q3 }& W+ Y. X! ]' K" k7 }
local tempminplddy240=r(tomc)/ f Q" b0 w% e6 I8 g7 p
restore3 b, t" x" r- X
}' d# ^& x/ O1 L l6 c5 i$ p2 y* p
9 [. t+ m' J ?; N' X+ C
else {
- _& z' h3 b- r8 ]! B8 Y: j
2 @: r8 T7 G! }% Q2 k4 c* D( v di "cannot find pminplddy240". C$ w5 ]1 G( A8 I7 C
restore, ?: M8 {! P# I$ e; h
& o2 G/ [* ]; Q% r- B sum dx240: ^ a0 _: Y( ^7 w3 u. |3 T
local tempminplddy240=r(mean)
) Y3 s+ d. u; }9 ~* F
: X8 T$ }9 N \
1 c+ ?/ s y) m0 @ }( m* ] }# R: ?1 J
3 t& Y9 B4 G+ v r" b' v- Z
* \6 p. Y# R+ t/ J
. N @/ r# W7 m; M! @ {% u- }( c1 {. k
2 |+ O4 q U- T
& k/ W' |6 t' \ gen pminplddy240=`tempminplddy240' in 1- S, j8 E( I! F* G9 @
+ Q/ V+ y7 t' }# l1 z6 [ *-------------ddy240pmaxp左侧高峰值 -------------------' S! @$ V/ P! X. N# S
6 N& b7 |0 h6 o4 [7 ~ preserve ; H% y! {/ o# L) H0 M
$ k7 w6 |5 O" M- R% p- v keep if dx240>`tempminp'7 `+ t1 e3 H" A& u, [5 P) A- L
0 M; a! c$ d2 D3 v6 P# s* @3 ^
keep if dx240<`tempmaxp'
5 F- z! y4 T, y9 S: E+ I5 x0 Q
6 h% R- S. ?- c( N5 C keep if ddy240>0 V8 ?6 t) r) v: k' T+ y; }5 p
count0 x* z4 N$ E) x' ^5 [: Z, [
" p5 M/ b2 e* m if r(N)>2 {
5 r9 @1 E5 X% `7 I4 O! y1 \- s 4 J2 a# ~3 s; V) x6 L) ]- ^
pkexamine dx240 ddy240 A- Z7 u* v" C0 }- y, r/ I: u
. H% y! S' T$ y: M# p5 {* u5 v; ?
local tempmaxphddy240=r(tomc) % i! ~: _, u. ^: E6 s3 Q! P1 _
% D4 z0 @' o- E/ U- z
restore
+ d" f% c8 E8 v2 }9 B! N( m6 ? }6 S: N$ K0 u; n) _% z
: V4 C/ V+ g7 B& p- F" h
else {
$ b; o* k& i* A* {/ e8 g% { : f1 L5 U9 E( n5 n# _
di "cannot find pmaxphddy240"( v8 |5 ?9 \2 T$ f2 ?
restore4 G' y9 Y1 ?7 z7 {
+ O _; U$ a6 j% k- U# Q1 h$ H sum dx2405 }: B0 A$ K3 @, F; P8 a, a( H! i
local tempmaxphddy240=r(mean)
" h& A5 r \3 T, d0 w% _
i1 X+ I# R0 Q$ F. q $ i( Q, u/ G9 J8 _2 ^2 O
}
" w8 l6 u. U3 V' u( c
( n; }3 x, Y8 v2 V* R+ |( Q
5 r' |- s) ]) h/ c7 j/ t+ E 0 f! C( V o- l
( S2 e, B3 x- q2 O* l: p
% S+ L" C: ^- }- v! j: ? 4 R& V& b: d0 }7 \* p9 ^
gen pmaxphddy240=`tempmaxphddy240' in 1
, D) ?9 b& o. K$ S2 z 7 z2 V4 X+ g9 [' C& p3 t
. V- y5 t9 E% e
*-------------ddy240pmaxp右侧低峰值 -------------------6 B/ g, d( d. |. l
, S* j \6 J2 s V. @/ [: N
preserve
5 W2 G! h; g0 s% Z* |3 u5 N' ^( S & l! S. y8 I+ G7 o! {) i5 k
keep if dx240>`tempmaxp'
2 c4 l4 ?, ~& C1 J& r4 s( N/ u6 n
p) F0 v8 @7 e2 ^6 x gen temddy240=-ddy240* @. ?: Y) w! W6 I/ T4 d' n; ~( k
1 }; ~1 b3 Q" S) M keep if temddy240>0
0 Z: z& g, u% [
' [" _6 [% i) s6 h( P+ q" h' p count
' C7 r* C' [: ?# r. }8 X
8 { c6 Q! q G) v% J# j% J: g- k, B if r(N)>2 {+ \5 a5 l$ B, H$ ]) W# f
* S! P5 |3 U, S9 [
pkexamine dx240 temddy240
5 q- Z5 j9 u/ i* O
3 R1 t9 Q- o8 i* e- j local tempmaxplddy240=r(tomc) 7 w9 G; x& E1 D( E
restore' H1 r( A, e2 p7 _: ?8 s; a8 K+ W
}
6 ]$ |! ?. P! b# F : ^ Q6 e) m6 z) {4 P9 [+ a
else {# X; c \* K4 a% K+ }* W3 s
restore, J- ^* M' e, G$ I: H+ h
di "cannot find pmaxlhddy240"
2 B1 `4 ~ j% P- f; { - i% c5 S5 F$ F- A/ E% x1 L1 m% l
+ z8 Z3 _, y) { sum dx240
' n1 f& z6 H9 \ local tempmaxplddy240=r(mean) in 16 W ?% \: l2 _; R- i* f
; c& f7 p% {; x% @ 8 Y# E: L' {) ]* O( X( ?
}0 X: v" h1 A0 y
/ W* d% A! A# D% O7 T9 x
7 u+ M1 C4 m7 c7 k
( C) v* p; A9 d$ J
" Z% e2 S7 z$ c9 \5 C. K* c6 w / P4 |1 \) l5 \
& b# \4 S+ i% C1 \
gen pmaxplddy240=`tempmaxphddy240' in 18 l& L0 L4 x, P. u. G
0 I s$ k- e2 ^ ]! S9 n0 G *-------------------------------------4 b; l6 Y- l0 w7 Z6 L. S, H5 e. M
0 \: P# Q& h) _ gen price5d=v5 in 1/20
$ [; I% {% H7 R
2 j0 f" x0 n$ E; r( S6 }6 a gen price5yy=_n in 1/20
& E! y: n( H$ q0 t g# a; Z
. s+ x9 l6 S+ P; A r3 L gen price5y=price5yy*(dy240max-dy240min)/206 e+ M# k/ O7 V! l4 S; n3 b5 y
' r- g- p1 ^& u$ X q/ {5 d$ I$ v *price5y &price5d
9 u6 B# A! [( @; I* ]- C- ? ! N& [4 s5 C% `, s/ a
gen priceny=price5y in 1 [: y" D" ? O7 k
! P: n& h+ X- Z1 `, G$ X5 Q7 y
gen pricen=v5 in 1
- Y: \6 d7 [6 f, S2 y; f9 l; e3 j+ Y% T. Y
: M5 @- h0 z" b6 j% {9 ~* ~ *priceny &pricen
. E0 Q ~' e& T& i5 |) P5 u- ?4 ]' p $ n4 a/ L, X2 }+ E
* T: ^5 K% @, W+ G% r8 ^/ L *-------------------------graph------------------
/ [1 p$ P4 W0 Q& X $ _% i+ U/ \/ b$ l) q- a: W y0 t1 Q: A
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)$ o& c' M" G7 A% @
d/ I) I% r: t* ---------可选项目----------------------
# |, [4 \' g! }! p*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
9 v* a3 R: M+ c}9 Y8 F$ v- P6 A6 r2 p" G: E
end
% Y- _, t1 c9 r |
|