|
maodeng 发表于 2013-1-28 13:13 ![]()
* ?2 o( o. J: x: ]. hello 300236: J& o; T$ x- s4 X; k4 ^4 \. K5 K
statement out of context
/ R8 E" F. c( Er(119);
$ x6 S. D# [( ?2 A: Q6 R/ \抱歉,最近太忙了- }! d& z$ d# K
+ _# g" Y- [6 E+ d3 |0 a0 e/ V300236 我用下面的程序试过,没问题
8 }0 c! `% B9 ]4 Z, s% i. L) |0 x8 X! t. g% k& S
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试+ [7 `; M: V& e: W
- R0 m& F) L7 d8 p$ t
capture program drop hello! w, c' \* A6 F2 ]; R5 j" q1 Q3 K
( X. Q5 J' B# x0 p0 C0 Iprogram hello
! @/ Y7 J" ?5 D+ @4 z+ |, g9 b4 u7 ]' W4 f# ^5 b
quietly {7 E2 o7 _ C! D; N0 a+ a
+ k' k) e; \& [
clear
, d7 B+ W" \7 z5 R; j( ^6 O5 ]. Q+ Z) @3 A: V8 T+ N3 r) r' \& K
cd D:\stock\test\source
W! ]2 g8 i) \! o
" f4 P- ^0 w# h2 L. [: ?4 F- @/ y0 Cinsheet using `1'.txt1 X1 O- k) ]3 P% i
9 O. H# ]$ H' v# _0 h% j keep if v5>03 L; ]. q' ~- l* M$ ?) W! M" M
/ @7 }( R& P8 M6 Z, _
gen vt=_n
. }( O0 o' P4 k, N/ G& R2 q $ l; U$ r+ ] L) {4 ^
tsset vt: p% H6 B3 t( ^- a1 ^& S
, |: _1 q' s* [& {+ [; z% _
gen zf=D1.v57 }3 |) ?( F5 Q4 Q0 ~# U" Q
% v5 b5 Z8 V' w8 e* y, T7 C. F2 A gsort -v1
9 @# O- _4 ` D3 N$ j- T5 C
' z! Z. Z% a3 L# i4 m4 ^( @, B/ e/ F gen avol=v7/v5
7 I9 ?! ^1 K& c- o9 } 5 a, w3 X' L3 j; y& N6 u) P; l
keep if avol>02 i/ p G. y3 G& @! X j$ O3 r! G
1 l1 [. I4 h: @3 _; x drop vt8 j1 r5 E- g8 l) r
) h. Q# ~1 B& t/ X. I
gen vt=_n
! d' M2 J6 v8 x3 `* w* h - U7 B% k# b0 Y( h; Y, J
tsset vt
" L5 `; V2 C8 i8 _4 V+ x
! `4 @; f3 x6 Z; j% j8 j sum v5 [aw =avol]( j; H0 U) a) y% U
( u! p: v# _9 i
gen amean=r(mean) in 1' b8 V" q; g# b
2 c7 Q0 w% u5 ^8 I1 C# r+ [ T! Z+ w
* 总加权平均值 amean5 P" U6 u) _2 n& s, K2 f
# M$ i @% s1 V, u
5 w+ u. w5 F7 v keep in 1/2408 N; O8 K1 F- v- X/ g+ p1 t$ _
- L/ W( j7 A8 b, m7 H T+ O sum v5 [aw =avol]
/ Y* |* N. j, }' j9 e; [! F2 I1 k8 P, W
( d$ e9 v/ o5 V, G O gen mean240=r(mean) in 1. n* o' y5 _) _- [
" a9 a4 Z( |/ m& l. @
*240加权平均值 mean240" [& E1 v& X5 n( k# {
1 d( l P& ~- V% E8 I set obs 500
3 Z' v* v1 Z9 Y! v2 y: c" b; l6 k5 Q9 w ; q( g. @0 T' Z7 r4 H
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph1 J- _( j$ Y% N6 {- e
9 S. w* @2 j2 i; I *240 kdensity(dx240 dy240)
& m7 ?+ ~/ @, Z2 R$ | $ i- b! T6 b$ Y. z
sum dy240! D. y/ i7 {- j+ i* W* }1 L
( b- J" g r8 T+ F. E/ v
gen yxis=r(max) in 1# y1 X' F: o& o3 B* c2 K
- z- e( m, A# z- Z6 n* M gen yxis2=yxis/2
+ }& X; F8 v4 Y6 U8 P9 R
. M1 N+ P x* \, b0 v2 G1 _ *yxis, B# ]6 l7 r4 ^3 a2 J C. }
7 K9 Q( a5 x9 a8 c& ~ gen dy240max=r(max)
/ N3 s/ G* g/ a 0 e4 E5 m4 B. K K! t# v
gen dy240minp=r(min)
8 z! C& F- v' K8 V" t, G
j6 F2 ^9 |, c gen vtt=_n
) t$ V& f, v0 ^5 N) P
: V: n( _( i+ H1 p! t- h& X# m$ P, } tsset vtt0 O& T+ r; O7 m+ c/ F8 }
" l2 k* S+ E$ [% c( c [+ o gen ddy240=D1.dy240/D1.dx240
: H6 f/ Z" y- u! m9 \! E; h, ?8 j) N : ?0 v9 \- Y4 l
sum ddy240* K$ Z4 @$ {/ u
; T0 z: j! ], y7 C G7 C
gen ddy240max=r(max)
+ [* |" w( P9 v8 B6 N$ H* S8 g$ R# U 0 I% F9 O' p2 o9 y; \, E
gen ddy240min=r(min)2 p$ ]6 v) P! U g# q3 H1 }
) {; F1 u5 v) W$ n8 D' a* A gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)$ Z, G8 B1 J. ]; L2 y9 W& \7 I
! k, Q4 E; ^2 ]- A
sum ddy240g
0 D6 U: i/ N* `( W0 f; w3 R
- H, D, n3 o! \1 Z% m; ~ gen yxis3=r(min) in 1
$ p4 f n! K9 q7 E" J
! H: \. d9 \" Q gen yxis4=0 in 1; M- T2 |; ~% n* z. F! \
( e6 @" _# F1 z1 r7 H+ f
*ddy240g & X0 b0 {! K+ y: D7 f$ I+ K7 [. N
/ ^! X7 I0 x! W- P( N
) ^# J1 \6 \; z7 W- Q: D" i
preserve " y6 F/ s* q% B" l3 Y" M& t+ Q
$ C2 f$ X* \4 w$ A% I6 N
sum v5 [aw =avol]$ U0 W% B1 Y+ l$ m2 a% I
3 k6 B8 }& p, h$ x6 f keep if dx240<r(mean)
% p* o3 [7 Q* O6 k9 | 0 ^% O" L" d1 z- l. t
sum ddy240
" H. v) k/ T- W$ @' a/ x) e) q
$ V8 w$ |( y/ p if r(min)<0 {; @: W/ V9 Y7 m
( Q @5 o+ M/ m& u4 D0 f
keep if ddy240<=0
8 F5 R# x( H: w; ]# S , B8 ^5 y& ?! r1 K
count6 _, }! ?" m' B! }* o
; X8 o' Y# [9 Y; r2 T6 ~% f) L. o
if r(N)>2 {, j; o4 n5 d1 X9 x
3 B5 u6 M- A5 ]2 l' j1 ~
pkexamine dx240 dy240
6 C6 h9 s% o$ F C) G. l, Z7 C. h8 Q
$ Q: a' `) |' ]% E1 h* C1 M0 o local tempminp=r(tomc)
5 W1 x- O) }9 n# f0 }, i7 e' _ restore 1 t9 E& L9 [& B3 d# P
}
) V! N8 _2 L2 x4 x+ A 7 I- U. d$ q `
else {$ S% H* C1 \) \4 G$ O2 Y5 f
X. |1 s2 U# o, K7 j/ A
di "cannot find minp". S+ p6 y) |; r$ E9 P0 E V) C
" k8 o1 P: X5 \8 z5 k
restore ; o+ e" U. L* y) i& o" \& R
sum dx240" _. V% k) \ @! [( D
local tempminp=r(mean)
1 g, F+ D8 Z' _( n ( B4 E, {+ {7 s9 W5 Y
}
" V8 l5 I* {. D/ y; s0 w }! {$ T$ D( K% M. O! [& @) L
else {
2 r0 ?% P) Q+ }( {( e) e
3 n1 ?. R- y0 T9 m, |0 Q8 |8 h2 M keep if ddy240<=r(min)
7 A3 w" _( o" g+ P2 Y
/ m9 P* o: \) L! w9 G( H7 r sum dx240! g# H/ C5 ]- d- g3 d6 D: X
( \& @& j I4 l% V. Q9 o
local tempminp=r(min)/ b3 l9 l6 Z7 @% d4 [8 h2 {( o
restore
1 k$ B) U/ d! |! q }
" `1 r0 b: H, i( ~
# {; y4 A' O0 m( y O- J. D m9 u$ J$ T5 h
0 g1 G9 g, F: ^+ _# v5 B% u
gen minp=`tempminp' in 1+ j- D: _3 B* m$ [/ k
*240 minp
) ?7 B( ^2 H' Q, S* U9 ]% Z- n7 j8 k' M: e, |
' V) D3 H- M9 O6 \; J1 s
" K) E2 l$ Y2 y2 g+ J0 }/ w
preserve
* |6 T; V+ q/ m' }
3 q% a2 E C' v sum v5 [aw =avol]
/ v7 j& B* f+ J6 t 5 B3 }: T( l5 j, Q
keep if dx240>r(mean): A( y' k* M5 x j5 [
0 T. x( z/ K" y$ q0 e
sum ddy240
* @0 W. `2 w* E4 p0 @) R # w K' h# x# [, L; A% I1 v2 ^
if r(max)>0 {: D/ ^" q$ P/ N; @4 y- B. f$ D
2 `/ {, I! {2 V$ E5 w
keep if ddy240>=0
$ j" U9 n# ^2 |) u1 s8 S
( c: A% S8 R9 O count
2 _' W0 A" t8 }; D: y
h5 h. W! t1 k if r(N)>2 {* m5 s6 ?2 ^4 A0 a1 S
8 a& r8 x. e f/ E. `2 B pkexamine dx240 dy240: A. }+ l( F6 A9 ]! M( K
}7 }5 z& ~0 X; x1 b
local tempmaxp=r(tomc)
: q8 L# m3 S& ?6 y; r" B1 H restore
0 [7 Q5 e8 ^4 G( a l }) U; _ v1 \7 t- a% _6 s# ~8 s' k
/ G6 S. W, J5 o1 Q/ l! ?9 @ 3 w5 }6 c3 v( H4 G4 a. e
else {
( M, |2 M! @0 [( u restore 1 p% u/ F) U! P8 c9 X
di "cannot find maxp"8 ?" `9 g9 `, \3 c
/ D* o$ W; t( v: k# K: S) |% B
5 C1 J' ?6 E& r sum dx240
5 Z/ T4 J6 B; F! p/ P+ o local tempmaxp=r(mean)
2 H9 L. s$ w5 y% C; f . a* ]1 e( e5 h
}! s2 |2 Y$ @9 m* g
$ U! F! `/ k! H: d9 P, v- G8 X }
8 b. u9 p% k ?. d# { t3 K `4 m. N6 V p
else {3 A0 n& \0 t' e" B9 p' ?
$ ^& R% Z+ {0 u: a$ M# O
keep if ddy240>=r(max)
) _" S; E+ v, v
u8 o7 ?1 D( l) s) ~7 U sum dx240( m9 h) f5 L8 a" x; d( |
/ Z8 M5 J% h" V4 h% G6 L8 X local tempmaxp=r(max)
% D$ `# F9 m& }8 u7 e restore ) A ]% Q9 W$ p5 x6 t* @
}. k/ B0 p Z0 \/ [, \
, z( w' G' Q6 u: I" c$ u+ S5 r! ^
1 [$ A) `5 g5 q# ]7 M* ~ - U0 D8 L1 U, _3 ~& C4 w! V. B+ r C
- D# B0 K" b" a9 P U6 v
gen maxp=`tempmaxp' in 1: e. r: P# {. r5 z! Y8 u0 {
. ^" H1 a- ?9 U2 b' r9 c+ m" R* J; J
*240maxp; ` C; C) ?. v# Q. |: b! Q# r
; Q2 s: w: A4 [ ^8 V7 `/ G
5 }+ \7 _! g' H8 m *-------------ddy240pminp左侧高峰值-----
4 K- X2 B! I- P% U# L , N8 r9 q1 M% q, U$ [, L E
preserve 2 [! S9 F; t& o) j
( ~- O6 F# T% r; } keep if dx240<`tempminp'
! w! C% g0 ~# S+ e# l: V7 Z4 y
1 M/ \: J( y9 m: | keep if ddy240>06 ~+ x" G" U4 V8 g: p; ^+ s$ y
( z0 q5 F3 ~! s) x& v# _% V# U. E% l+ V) C
count+ p7 @4 ^+ ?6 y* z) i$ W
. e" o! O( ~$ t: ?5 |
if r(N)>2 {
# X& J- T9 ~% }3 a$ p 1 |+ T+ E; g( ], R
pkexamine dx240 ddy240) {( W- P% m% S' n% U1 E% }/ Q' A
9 }/ N; s$ Q a local tempminphddy240=r(tomc)
# [% d) c3 Z1 x, U! M8 c restore+ c1 R a; u% ]; V" V
}5 e& W8 ~! {3 w% O' Z* s
( e% V. Y/ X% g8 F0 I else { c9 u! N; X2 e
restore % P( C. | l6 X6 O8 w- U; B
di "cannot find pminphddy240". c0 o# ]# f7 Q
" q4 Q! r! s; k# n+ f! z
7 S* N1 ]$ L M# Z2 F6 ? sum dx240
( g U+ C' U& A) h* n! A local tempminphddy240=r(mean) 8 U/ c7 L( ]. U8 z
9 R' @* ~' i; i/ }
# o! Y. V k' i# l ]/ k2 k }) Q9 b% }& m) i: H( j' M7 E
M# ~4 Z4 @4 g* h) J t4 ?% b
5 g5 ]$ O5 A6 n9 x% K 5 q7 f2 _$ A0 W5 k) [: b: G
# J `5 o5 a9 w8 Y
: p( U) B' F- |" _* s0 Y! N
1 o* k' s( M$ X% v' v- M gen pminphddy240=`tempminphddy240' in 19 K' L D/ a' b" K1 g
# [ ]. m4 G8 R
" N, [* T3 v* d& M E
*-------------ddy240pminp右侧低峰值 -----------------4 O% I% l4 ^! ^5 D# X
preserve 3 x {" d9 m# p& H A& _6 t
* h5 K3 p6 R# `& R, t) Y keep if dx240>`tempminp'1 a+ f# I- k7 G: T, n3 g
: I# n* ~6 g5 g4 y/ g1 {! ?; X
keep if dx240<`tempmaxp'
1 N0 p& X( l& e" k# n: r. E5 U x' B- Y, G4 {4 Q
keep if ddy240<09 q1 F5 }% {3 x6 M6 _ F6 \
5 M. [- M! A! T5 ^, G( a* o; H gen temddy240=-ddy240
- c3 u$ B# ~. {. e) U 5 W t* u5 [& Q' ^9 a( b( B9 d
count
" y3 w( n# m2 \ B% | 7 t, |- g: m. T
if r(N)>2 {
- ~5 R+ ]) F' f9 y 9 { M _, }$ o, V4 b
pkexamine dx240 temddy240 L+ w' B6 f7 ]
0 I, ^5 M) u( [; _
local tempminplddy240=r(tomc)
+ n+ O& b7 R9 L* \6 @! m restore# v+ `' z0 J6 k3 ^- z8 y u
}1 O8 L8 J6 x2 m5 D# q7 Y
" ~# E9 u- H% n3 G d! Q
else {& Y. J3 ?* G( G l! V) h
2 O; X+ x" c9 t- X6 E$ M/ O& N% c( e2 l di "cannot find pminplddy240"
# U1 Q8 J. C8 v$ w& W restore
/ o7 N. |# B) z
6 [3 t( p. \* j0 c) i sum dx2402 a: r9 p& ?/ N/ T3 j |( N; m
local tempminplddy240=r(mean)
4 P9 p1 _* W9 F# s5 ~5 l& c% ~) H: o 9 R4 L+ u4 L/ A+ r
7 z6 ?* J. ]5 Z: l2 X: }+ L l( O& U }$ T% }- \; O# \9 ^* N! J: m1 t
& R: y2 b% t5 \$ F$ N& l6 _
2 b( v3 L* H9 u( [2 ?8 n# b' h5 E0 x ) X# Q. R; s& M6 E4 I* ~5 Q
1 r2 C# \; u: E$ _- O
( A( b8 [& g4 {9 @' y8 h" \4 ^
gen pminplddy240=`tempminplddy240' in 11 X& y1 B [% N$ v& N
. N& [( G5 F- @
*-------------ddy240pmaxp左侧高峰值 -------------------
$ f, P3 m2 u2 w, }" Q! p
( ?+ Y" _( S7 b+ B preserve : H! @2 v+ h/ z [& {
2 n" o+ ]4 H8 i/ D" H* N
keep if dx240>`tempminp'0 w2 }' E3 Q* _
0 ^* L+ `% C5 y M, O, Q. K7 k keep if dx240<`tempmaxp'
2 X) i' c) f' h6 p; v7 t 4 t+ N6 s) \( [0 e: w( ]
keep if ddy240>09 L, |5 _, n9 m& p E( X% d
count, N G' Y, W9 Q3 x% y& h4 |! c- \8 \
) N, p. C4 B7 E4 `% b0 S( c& X if r(N)>2 {6 |+ T+ N( i' p6 B
. p6 ^% i+ X8 y1 ?0 R1 { pkexamine dx240 ddy240) n/ `+ ^3 Q0 a! b
! j9 Q% D9 S7 p
local tempmaxphddy240=r(tomc) ) i* K* S: E; f
2 Z6 q3 C# t D9 e restore( j0 J/ U% e9 m9 h- F' F
}
. n4 H; m( K6 M" r1 E% y
/ B7 o) T) N5 D+ Z7 j8 ? else {: o7 ^- @3 }$ w5 t/ N5 y# T
6 F, G8 X/ B- a6 ^ ~; d di "cannot find pmaxphddy240"
% v% ^8 x( |* O# q, v restore& e5 P# x" x0 F0 @6 x- b* G( L
! T. M; Z& f. m; O5 d7 o sum dx240# S; s7 O1 _6 w+ w( P/ q
local tempmaxphddy240=r(mean) - _; D7 D; u& f+ X: j
7 v2 `& }0 ^+ x ]2 T * Z* ^+ n2 J: V2 v
}, U. n1 A0 I$ ~: _/ Y) N$ T
" j0 v/ `2 ~- c
0 j9 s/ u( g4 K# p2 q
1 ]% V3 M6 _0 S" j
3 o8 N! l% I; D% t* H8 Z" Z! ]
0 k: t. `- c, U' c- N0 R7 Q
" b6 E: {" G( d! F3 } gen pmaxphddy240=`tempmaxphddy240' in 1/ V; Q1 l$ s9 l3 l/ e1 U
/ ~1 A6 m' d% K- q# ~' E 4 y1 r J# h- s8 h, y) Y* \: p% s
*-------------ddy240pmaxp右侧低峰值 -------------------% v9 @1 ]9 s4 t1 {
- E1 U" n, l" H2 l3 w; _
preserve
9 |! o; g1 I' o. U" U( g% B6 p" t ; A2 p6 S+ m6 ^9 C Y4 H
keep if dx240>`tempmaxp'" N1 O# y* `. Q, d7 O: n
( T/ j/ Y+ Z. q) c }9 e4 y5 f. w
gen temddy240=-ddy240! _5 V: c% d9 f- T
9 d( d# j- _- _, W0 z keep if temddy240>0; p8 K5 C% r( C" }4 ^0 _
- E S/ ^, x- e, q count* W2 }$ f6 C9 }% ^ m; v/ [ W
" T ~+ n( i5 s3 p" `9 [- F) m
if r(N)>2 {
- N a: @9 S! d# p / k, q' U9 n2 o* N
pkexamine dx240 temddy240
( g: h6 O" H0 P* a: D+ H( F$ @
# {; C# ]" p- a local tempmaxplddy240=r(tomc)
" C/ }( v4 d$ f( a1 f restore
- H2 t/ a& o# |1 `+ h4 ]9 e }) I4 j1 r1 l/ m
. }" u5 }, h% [" y4 ^8 \' [& I else {
: L; d+ Q) f& A7 _: m' c restore
2 x! m7 F( K% I% Z) _6 b! p di "cannot find pmaxlhddy240"3 z5 ^3 d0 X( O7 E
1 \# P/ q; A4 @) y% U; j# J1 b4 g
8 ^* ]; B7 u5 k sum dx240) }9 c0 k9 W# Q1 A
local tempmaxplddy240=r(mean) in 12 I3 ~/ S" K( [1 a z: |1 H
: p, a% B5 o I# k! \( }$ }- {
- Y* B1 Q: l" r; P8 X% P }8 v& {$ G5 C+ E* V3 }
6 u2 _3 C/ Z3 v/ W
0 S! A8 U. G6 Q" P2 S) O& K
0 P% E& q, U! ?" T, \& z , W M4 h/ _" V7 [5 R9 z9 ~& {
0 M( l( x- p' i" t% i, \
) G0 w' j% x6 I0 j: ~
gen pmaxplddy240=`tempmaxphddy240' in 1
$ z7 H# F! x! S: p. `: n+ ~# S0 u8 a
8 O( W' C j6 m2 Y4 \ i# X *-------------------------------------1 K m, S2 o9 V; U+ [$ }
' T3 o) N w; k+ J: @ gen price5d=v5 in 1/20- q$ K; e4 ~2 W4 l$ ]8 w
( d& ?7 w) c% @1 k+ l( Q gen price5yy=_n in 1/20; c6 G; {6 `$ ?+ o& q1 Q) w6 p
H* x# o$ [. M; @& U
gen price5y=price5yy*(dy240max-dy240min)/20, y7 ~& z% b6 P- e) \& Q
, N. ~* a5 h: r& a- [5 l. { *price5y &price5d# b) N6 F- _8 F) ]: ?! I) S
0 ^% }* N, i' P2 m% B gen priceny=price5y in 10 }; w0 [/ n) a% P0 X! ~4 j
4 M# Y; \6 w! O! ~& K gen pricen=v5 in 1
% {7 d# O9 {% {# J
/ E/ S$ i4 g7 X+ ] ]0 v7 I' F ! j; W: r8 l. F7 c, t( ~* w
*priceny &pricen) q% g3 q) j) X- {9 V/ Q
4 `7 g5 i% d! R7 W
: l# A, y/ A0 x E) h3 v$ X *-------------------------graph------------------
) ^( u8 M/ a6 T/ z 2 ?. u. s, M' e1 P! q8 d% w4 ^
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). h/ J+ g a" l( ^+ a; q
3 @3 U; ] K1 L4 t' v2 _
* ---------可选项目----------------------
- s: n4 s7 C" L2 V*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
1 n' M2 ~# d! y( [/ Q' x4 C7 F}! E b p/ D6 D. [$ Y; C1 [5 r
end
2 `: ]0 Q* u, E |
|