|
maodeng 发表于 2013-1-28 13:13 ![]()
8 l2 p0 n4 O2 v, I' f# A. hello 300236
7 C! \# J9 C# |statement out of context
# v+ F; f, V0 p5 ~, ur(119); 4 e. q; L6 ?* {( `# Z
抱歉,最近太忙了) l9 A B1 W+ z- e
: g8 Q7 Y( m/ ~, m- u. C1 M
300236 我用下面的程序试过,没问题
' e# C7 U: P0 D+ v: T7 |7 x* e% E
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
1 I# D: l2 N2 v' L5 \3 N, u( j" C( g' V% K& a" q! R& k' j2 }7 D
capture program drop hello* s9 y' {9 h& P; K' ? L9 O6 _
3 q; C8 v. T* [( a8 X# ]program hello1 ?- a4 y8 e1 Q) b# J- J
! N2 Y/ c, c# M+ N! ~( w2 A
quietly {' v& p1 F$ _% k4 G# ?
6 H. i( ]+ ~) t7 S' i/ Z2 {clear4 @6 u; t# d& `4 X6 y
1 K& W$ a5 T) `2 ? acd D:\stock\test\source
2 C: _1 |( i/ ^2 C
$ P) F7 i# E. y; vinsheet using `1'.txt" H4 ?; B S. [
1 ~* s% {2 z( P7 t( z8 F' {
keep if v5>0
, Y. t! K0 w% o9 {
2 h* ~" R9 a: E0 B% F gen vt=_n1 A* d0 k: F2 Y) k, A- n6 a
5 N/ d! r$ K1 X2 [8 C7 J' W( |7 r
tsset vt
- X, k" m% N! P# Y; S, r. A, _; G2 v1 R' X; l. Z/ k% _) l
gen zf=D1.v5
0 t, d2 t- Q5 e9 [+ p/ h) e2 l" n5 G/ ?) u
gsort -v1
7 S0 `# j# \- I1 J0 J7 @
2 a* W7 v ^2 Z V) o& M gen avol=v7/v5. ^- m2 l! f1 o
* F% f' t* z' C5 a/ v! r
keep if avol>0
" p8 C6 @3 W1 b) o! _) D 9 P! v7 T% | X( e6 z% o4 z
drop vt
U: G/ D/ `- G6 _9 I ( a9 Y# d0 D9 O" O
gen vt=_n
. @7 S, w* Y8 ~( I+ d
2 X: n1 s. j# z; o' i% u1 Y tsset vt
9 D. t! ?" [& [. X0 I- t4 M0 f3 B
) Y- u, _9 u/ Z sum v5 [aw =avol]
& {: H n3 q- y. R) U2 W S& U
, r8 c/ A' _9 i9 G gen amean=r(mean) in 1* d2 m) b1 l! y. o* R
, W8 n& w+ W# R1 Z& x2 c * 总加权平均值 amean
+ i% g: Q; ?7 Q+ U1 W+ w3 N+ @0 H " a$ c% R- o m) s
6 P% }4 x6 I% y* |0 d+ R
keep in 1/240
; |; Q. z" S$ Q! A) J7 b) z: ^
7 b& f- w6 X' S$ K% ~; \ sum v5 [aw =avol]2 D0 b, p. ^; K" \- ?8 z
+ G; X' M* {9 c; F$ k% A7 _% ~
gen mean240=r(mean) in 18 |" V8 E# x% c0 {) _
1 ?6 _+ L3 s) r *240加权平均值 mean240) y; d, a& P f/ ] c& X( c5 W3 G$ r
6 }4 x1 u2 T2 I+ R; p set obs 500
! D3 P( _/ h4 N * W3 m* a/ d) f* x2 j2 d( [; i
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
; [- ?, D& o) u5 X+ K
1 Z0 d* z, p7 s1 R s$ ~ *240 kdensity(dx240 dy240)
8 `: U) P) {1 J; y1 {, _1 d5 I4 s 7 Q8 E& F, T- P* f
sum dy240( ^2 T, W' G. o
2 j% o1 ~% n1 q" r
gen yxis=r(max) in 18 ?8 u8 Z$ `+ K) R9 X3 L& H! ~
1 p& s1 e( u, Q, t" ^8 I, l7 f" V. ?& i
gen yxis2=yxis/2
: h' Z: d5 \ p. m& y% L8 d% H
& N7 F4 j0 i0 v5 R1 m; E *yxis
3 P& H! @9 b! P $ a7 E# X6 X: b3 t7 X6 N
gen dy240max=r(max)
) {4 Y, ~, k( p : C& C( Z3 M5 C8 ?
gen dy240minp=r(min), }/ ?7 a% N7 U- |2 |
1 Q7 \+ |! { {' Y0 p
gen vtt=_n
% z& a- i2 |9 g5 s, s3 |8 r" b" r4 E0 k g
tsset vtt+ c. N* [( [' p7 J
3 ?" G6 q# q0 v
gen ddy240=D1.dy240/D1.dx2406 i* q# ]0 S- U- i
, R7 a- W7 S2 i! H2 r2 \) v. {0 y
sum ddy240
. V. w- `9 Q+ f& L . J4 ~7 `0 G/ H* N; {) T+ ? K
gen ddy240max=r(max)0 K+ G% }8 m* s# ^
+ U0 c: h! h. Q P
gen ddy240min=r(min)
, n8 E( ?4 Y% Q# v4 ~% N
; f% v+ y Y1 b. Z gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
h- j$ ~* S+ d; v( \1 U ( O0 o" f- }5 k3 u \
sum ddy240g
4 o2 v; C; S7 [# g {/ J0 v
& }9 P- w! j1 w( |5 C( O" G5 g! M gen yxis3=r(min) in 1. q5 @# z! r3 f, O# F" c4 [- J- P
) Z! W! ~& c0 P8 @$ G
gen yxis4=0 in 1) T: s ~/ d7 m4 o
/ {$ ^( K) C: J U5 Q *ddy240g
, w. l/ d8 y! I 3 Y6 o# o7 r6 `/ a# r2 e& {
# N/ ]4 T# r# [0 p/ J preserve
& {6 b% E5 v- _6 J; M5 T + I" W: Z6 d+ ~1 O
sum v5 [aw =avol]
- v& f9 s/ x# m8 V+ u- ] : n; _, V; w- M% Y* G# b- S+ V
keep if dx240<r(mean)+ f3 i- g( r$ b$ C
" o9 E, ~0 y W
sum ddy240
! B3 v' [$ j5 D
+ t0 W0 ]; P$ V+ d if r(min)<0 {4 Y7 k3 N0 T) A5 Z; Z
3 a6 O$ N5 z! W keep if ddy240<=03 g- l; [. e7 O6 W" b7 q( ~1 B7 l
& y) l& z3 ^+ Q8 @) M
count. b5 j5 A( ~& B& [
% d- F/ B3 G1 e# d if r(N)>2 {
$ [, F% Z, J6 R8 a* t
, V, d( j, U" O) K7 {2 P+ _) A pkexamine dx240 dy240
. g5 r. r+ C" u& g4 Q , }! y* p" H" S& n$ b* J3 X
local tempminp=r(tomc)
1 e; j0 _4 w3 T* q% M restore & U3 e0 W8 _0 m6 n- F+ Y
}
5 Z# T8 h: X1 ]( }' ]9 B
1 }0 I8 @9 } O; b else {/ b+ H$ Y2 R9 x' }+ \* J
4 A! K* h1 j9 b) ^- _ di "cannot find minp"
/ e7 n% ?4 P& h5 g, g * B7 a4 y# j% o3 \
restore ) j/ S8 V' E4 ]1 Z! C- |
sum dx240 b" m. v% W5 J+ J; A0 e: n
local tempminp=r(mean)
# f% `' v# @9 | S3 D$ X 9 V) s: u, e3 W; w" e1 V
}
" H% N# t9 X% w. O7 j/ x, C }
: i( C! D) a3 h6 w- k7 C6 G else {
( U& u$ K. W h6 g # W/ v( ]% F' T* U& d# W2 M
keep if ddy240<=r(min)# \$ h& U& R$ n! `- F
1 a4 I7 _$ P. H9 U( Z. e; s
sum dx240
- [2 V, G8 q+ ~) q. B ) y' z, k0 Q# d4 Y1 g. y+ m
local tempminp=r(min)
% V9 o/ k: L9 U9 O# b7 W7 U restore
# U N% G6 W4 u }
+ b& X1 `5 J& T: G* F& n5 n5 {8 s
3 ^5 T* h1 \% Y8 p( `, L3 D$ m' D) e* D( k+ _( [
gen minp=`tempminp' in 11 K! U( L# F2 r R) ^9 z
*240 minp0 `. g3 y+ h, y" z0 g) v1 H4 S
1 ^5 f: @9 Q0 t/ w: Q: o& c1 G
' f% ~" _# A' O4 @# S( H" X4 f$ b
% k* I ^8 o* d preserve $ X4 A: R7 J; R$ x* {8 R
) q& Y4 u/ H1 H sum v5 [aw =avol]& b( ?6 ] O- o) e+ C) p7 ^0 u. e
( A4 I- v1 n" m" W: G+ M
keep if dx240>r(mean)
( s, M7 n- @/ _2 G3 p4 Q; l6 {
$ |6 V1 _ O7 e6 y+ l; x sum ddy240' A, I$ T U$ P; O
; |- c* h& x2 ^- q
if r(max)>0 {
$ \2 F# ^5 T U4 T/ k1 ]( M
, N+ u/ A0 x* Q' O keep if ddy240>=00 |8 h5 N" m4 O) e# r2 a
7 L1 u# ?/ }0 B) M* m
count2 a1 L" |, ?4 r9 _7 F* ]5 D N2 Z& T
3 u7 ^* ~2 L4 O' G if r(N)>2 {
, E' z% b8 w5 h: _7 \" Y( t
6 r6 O5 C. w7 T. ~- H+ {3 A& U, _ pkexamine dx240 dy2403 R+ Y, v8 Y, D
0 d7 F( D! \: h& T2 s% Y+ A local tempmaxp=r(tomc)
! D+ Y3 a' }# r- `) ^ restore 3 P' ?$ \3 I7 ~
}
4 f& p, }' x3 L9 _& @7 J 0 ~3 B/ |( T& [# p* Z
7 ^9 G) q: C8 t, O0 r; H; u! R, k
else {
9 b3 \1 s7 B( _ restore # U `) U: N% S5 l9 M, ^3 H
di "cannot find maxp"5 l3 W3 Z, K/ [" r
" F2 _) b5 t% U * h; P6 c( D3 Z- {# N/ ]9 o
sum dx240) Z, u$ ?, ]1 N) l5 K
local tempmaxp=r(mean)
( D0 {' w* j/ }
, |& l7 f9 b1 z* L }+ g1 Z- ~' X# D+ P* f4 f3 x: T
% K2 r5 K* ]7 I. p4 ?6 h+ A }
! @8 ^8 p& ~' a1 h7 V
6 E3 P! @ _# g5 u4 I# c) Z% w+ T1 { else {0 I0 v5 \) z3 k# w
8 \! R- u% N& F$ J! y* p6 |: p keep if ddy240>=r(max)2 N- ]: x" @$ N6 p
( B+ V# t. ?5 I9 @ sum dx240+ l) D: o9 ^+ d2 O
! T. P! k9 G$ U$ E+ h4 q
local tempmaxp=r(max) # G$ h8 ?3 S1 S- ]+ w
restore
! P" C8 A$ A% v$ o4 E3 q }
3 c6 b z4 w" v! v% B: l- C6 G. a
! z7 [% h1 m2 n9 J4 t6 W; y( S9 E7 c
- v& C' ^2 T: w7 j" B$ E- t H
( @0 h( |1 ]# s6 m& E4 O! Y1 ? gen maxp=`tempmaxp' in 11 W# t/ q, s# z
' E/ s! C& ~3 u# z
*240maxp
g Y0 {7 f/ V$ }( c! P
" \( A3 P! N; S9 b+ G
; n! i3 B3 w8 V0 x6 P1 z' ~ *-------------ddy240pminp左侧高峰值-----5 K, c8 V6 ^5 t) b$ U7 j
( C: }4 g' {3 v6 R5 p3 J preserve + t7 V4 J# o! H; Q( i
# C% O3 o9 c; Y) C9 L! S keep if dx240<`tempminp'1 m+ g) C9 Q: o |' ^" K
9 X" |9 X- m8 K4 n6 Z
keep if ddy240>0
9 |6 [& B( G, {9 W ! B* ^7 G- G. u! E" b, B: F
count
m4 [0 d9 Q5 b
' a: l5 N6 w% i3 p# r) Y e, N if r(N)>2 {
7 d& i" M& X: g' t" ]& ?4 W! _ D1 C # E, c: m" \& T! U& E& G
pkexamine dx240 ddy240, X) ~' e7 \2 H ~) \7 O/ e% T6 [
7 g5 @' |; k6 i$ q* o% o
local tempminphddy240=r(tomc) / Z9 e, a& R; i$ x
restore
) g+ X& M/ x$ Z+ i }0 {3 u* R1 t, K( b+ s$ n8 H: s' d9 B0 f
+ S. G8 \9 Z8 Q- h( B
else {
$ R1 r( s6 p8 C* o4 h: ^ restore
) E( u& y) ]4 L) Y/ H* p di "cannot find pminphddy240"
$ n1 W* }0 c! A: M* M- \8 @; j
, T0 t) u' l0 f/ W% Z& k9 Z ; H* o/ J* N5 U3 c2 D9 O
sum dx240
- O, F* z3 O3 w& V local tempminphddy240=r(mean) ( n8 r9 Q) |5 J
% W5 G* u4 c4 I8 x$ T( b" t 7 v2 Z `" @( Z2 J. z m- k. n3 i
}3 d' ^- S: ^9 l0 D4 B
$ B+ m s7 Y/ B; G9 Y8 P" t # C# c( |# i* c" k& f
+ q5 {# Y6 L7 c: l" G( o3 A! x
W' i8 v: u4 h' ?
- N6 y0 P ? [7 L: H m) z q/ {* B' v6 o5 h, x$ u
gen pminphddy240=`tempminphddy240' in 1, h& p$ u: E2 |! r0 ?
2 T& m4 J* d# A) M. b
( y% b& K* v0 J$ u2 E' m8 e *-------------ddy240pminp右侧低峰值 -----------------
$ O! ^$ d5 }+ c preserve / t: W1 [1 o; m4 A( [* {
. E$ {2 T2 N m6 {; T
keep if dx240>`tempminp'
' a/ ~( _% Q% M" {9 n; h8 I& ]
; q1 C0 m: h7 p keep if dx240<`tempmaxp'& j5 d s# U! X! M$ P- B, _6 @
$ X# p: M f: A: f& k1 C' M4 {5 @0 G
keep if ddy240<09 ~2 G) C9 u8 \) O
- O9 c h+ D# u+ Y gen temddy240=-ddy240
4 @' ?$ q- X( p& B2 A! f# \6 @. n6 J , E, g6 z+ s6 V' N9 P
count
7 m8 G3 Y2 h4 M( i) i6 X% R6 z+ \
: L7 g5 p; g: _% c0 Y' F if r(N)>2 {0 g6 h( Z, Y' ]2 N+ n% D$ g
! |# E# `" \; y1 ?1 J# b# _
pkexamine dx240 temddy240) C2 N/ s& A0 T. f5 W w
: X, i- R3 [. ~+ a3 S9 W
local tempminplddy240=r(tomc)9 h9 r# X9 x1 m- n( I
restore
! G2 |1 v3 }3 Z7 I5 H7 A) U }
% J: y% I3 z- m2 ]; i
$ l' \, G) {. ?: f. [* ?7 b N9 ~& l% D else {, C, k5 q8 O! G% ^2 P) c
; H, i% s9 B* K5 C/ p! { di "cannot find pminplddy240"/ a8 y1 {" H6 K
restore
: H5 b; N* W& e% b1 D
0 x) l; P/ r6 x sum dx240/ d$ j! S" @2 E" e& B9 L
local tempminplddy240=r(mean)$ U: s. R5 W' m! P/ i
1 {. J& a$ U5 P" P' q4 S* \
8 f. k! v8 J$ Q' M) o }! [: _, U& N. o6 d5 f
# b7 @" s4 z- N4 `; s 1 a. R) y; u$ Z' ~! ^0 z- S
: V E9 h1 A% m2 Z
; `/ u$ M! ^& z, U- C4 R/ i- O
/ x: E1 n3 n7 d7 q9 h$ X# A gen pminplddy240=`tempminplddy240' in 1
$ W0 D& |2 `8 O# K9 ? & N$ H% c. H; Y3 T. m6 q
*-------------ddy240pmaxp左侧高峰值 -------------------9 A6 u0 F% o% L/ F2 A# h2 s
* t" Q" `" {) Q& p, Z- M; O4 Z preserve $ a* l2 ~% [8 G9 ~. ]
' r' p* u2 |$ ^) t& |. i' ^
keep if dx240>`tempminp'+ }- b- \, g8 R4 ~
, Q2 e. S2 W$ X& h% o
keep if dx240<`tempmaxp'
* P1 x8 B) d- }) O- |. ~8 ?
) r7 Y3 v# K: x keep if ddy240>0
9 J3 E% Z. u- |9 z8 m count3 h' w3 I6 F! I! P9 M0 {/ ~5 l
8 p+ t" O/ ~0 c if r(N)>2 {
+ C1 l7 Z; ~: M5 J 6 Q! r% f: h# j6 M
pkexamine dx240 ddy240
& k6 P1 ?$ c" ~( d+ G
5 C$ Q! }6 f H+ G6 t local tempmaxphddy240=r(tomc)
/ R; \2 }" A2 }* J* L" a / `$ z' \# j* X' f1 J
restore
6 Z( L3 F( B2 x' B }
3 r# O% O; ?6 B , j# e `- e; s- O. e
else {: `8 u2 S2 ~/ |
; y( P) ^) B8 ?* w, g4 M6 G
di "cannot find pmaxphddy240"2 D# Z1 ?/ E0 L/ _6 C+ q- W. g6 v# E
restore8 B' E: P1 M& v6 x
7 }# F. n3 E# g: t$ K, _3 l8 X$ `
sum dx240. H, }" `6 w, S: w! n+ H& v! i
local tempmaxphddy240=r(mean) # K4 q Q* `" r! E- ^
) A1 m7 m- _# i" Z- G, d1 ^
6 ^/ \. Z/ o# X/ r8 @2 ^ }
6 @$ U# P o( d2 A/ T
1 p; C- l; v% N7 u) Q! t% l8 I3 x
/ x7 q( f. Z) ]' w & i2 c& j& u. r1 D* s8 B p7 V/ r
# m! F$ f. d. p6 @( q: }) w# D Z + f5 c/ l' b5 V
8 d8 A3 s K1 P5 y1 Y, O( l4 ? gen pmaxphddy240=`tempmaxphddy240' in 1
) C" O& X- r% G$ z; S
1 C7 _( p9 O* i% o$ X) i : ~; H- A- \6 A/ l
*-------------ddy240pmaxp右侧低峰值 -------------------9 q* |$ l& P* C+ F4 S
3 m; h9 w& B* j% a
preserve
+ U, T1 k2 a6 g6 B. ?% b 0 e( M. t% ?3 A: l
keep if dx240>`tempmaxp'
6 C: w' b) P, x+ |+ L ( B- T) s9 b: f, y# D! ?/ p
gen temddy240=-ddy240
9 V5 e- q$ e/ ~" d; v, j# V. l Q
+ a* b2 [" p: D$ j; p1 F! f keep if temddy240>00 J J @ [4 D& F1 c
% u3 c* h9 R# H/ N; C
count3 \% I: R \) Y( z* g. C
9 Z* |4 ]* h/ P( W0 p3 Q if r(N)>2 {/ s9 |$ R1 I$ M- l$ x9 L
6 a; {' l. p5 x9 W4 t& g
pkexamine dx240 temddy240
% b! F& ^7 w" i: ^) i8 M3 X' {2 o
* M8 a9 R* ~8 _( Z5 ~ local tempmaxplddy240=r(tomc) ; f. ^. |. g2 c* N0 y3 ]; ]8 c8 Q
restore) {0 z5 u8 s5 X; K
}
& L4 k5 l# B. f: e+ W: `3 |
. s/ Q0 b, u/ @6 i' O else {2 m6 q1 s0 r( @$ D) {* ^$ h% o
restore
2 n. c9 @* s3 C- w) \- g di "cannot find pmaxlhddy240"$ i0 r6 \& |9 U
9 P3 B. _' x- s
( K; m$ e& J& E4 w; E. ]$ n% F% Z sum dx240# K D8 {: B! _( z1 `
local tempmaxplddy240=r(mean) in 1: f) Y& h1 w$ ~3 Q! o
* [/ Q. q% Q/ D, _: o* U0 v# Q
3 J8 G6 O8 G$ d" w' W }* W1 [0 _# g4 z/ m1 t& T
+ ?3 L; H' l/ Y* ~
1 u7 Y- y. a& }
! }7 Q6 d: j* F) G% ?( N
! N: j. G2 C( H! \9 U
% L8 I# M% x: s0 E: l % s) a2 A% A. o: j
gen pmaxplddy240=`tempmaxphddy240' in 1/ W8 S3 r0 t; d4 J3 \4 @
- Z; u) _; p; t: h
*-------------------------------------
! `4 y4 S$ z% f0 \9 m# G! n$ ` 0 d9 {) E. l7 I! b: S' B" \9 [
gen price5d=v5 in 1/20' p3 ~" ]; V& w7 g4 ~9 i0 ^
1 F. z& a- _) C D$ C
gen price5yy=_n in 1/20
, O( v* H6 O3 d, ?; B2 c U* b% f& X9 ?* A" l
gen price5y=price5yy*(dy240max-dy240min)/206 z; n& r, U; g, `# |9 H0 P
" U- Q+ h3 l1 C, m
*price5y &price5d
( v! y; I. ?! R) O$ |
+ {" v; M6 e6 ]( g; e) U% C) ?: V gen priceny=price5y in 18 U- h1 M% ^+ \, e8 a K
& n% D, G# F' n" t5 A
gen pricen=v5 in 18 N) p( A$ f: x$ T
1 Z1 G r& V% q. V7 p
! r/ T& R% `: t2 X# Y *priceny &pricen
1 N( \; s8 U6 [ ' _5 o* d1 z! l& I2 q1 }0 y! p
+ Z% Y0 I3 M6 x+ P( k3 X *-------------------------graph------------------8 n8 V$ `' c ]; [- y
6 Q9 V3 a6 d2 H, f" `) i0 {) e
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)
% x( G" g8 T8 A1 V8 C% U( O1 |4 [& v1 D1 W1 e, a2 [- g6 h
* ---------可选项目----------------------" ^9 P+ ~. s% P% Y: l
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))- j. y: q: k1 | B
}
. F/ G& Z6 y/ X% y, jend4 _' h( N9 _4 e) `' k
|
|