|
|
maodeng 发表于 2013-1-28 13:13 9 k" R4 u, H5 R6 k# U% I
. hello 300236- }$ N1 h: W! `) W
statement out of context
9 F* Z3 s4 z: M4 U4 ]r(119); 9 j# f! x; [7 H m, T
抱歉,最近太忙了. L: Y4 y" Y- Y; t; `' v- Q
3 I# [! @. g2 l
300236 我用下面的程序试过,没问题% x7 [: j# \) x6 M4 \% \: W
2 o% U/ a, _7 B: a7 a; W
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
1 F/ v/ t% s3 i5 |/ z: t7 A7 ?" f9 Q( u6 K" Y2 L
capture program drop hello! I. P/ t& x {" J% M9 ~
1 ^ v4 Y# ]6 d j& E% ^) h% {$ H
program hello9 i$ q" @5 B4 V
- K% o. a4 Q/ k8 z; f4 R quietly {0 y3 R2 f7 K; U; [, Y# Q
. ]7 r9 }' P b% W- R& [1 P0 Tclear6 R2 K5 |7 R. `, F1 g+ [( ]6 M
- e% k+ a1 p( xcd D:\stock\test\source) _$ _4 d6 A' ~# w" h
/ b0 A% L F2 V1 pinsheet using `1'.txt& [3 M/ Y) O: T
& q, H" H, g0 Y7 o( B keep if v5>0, [ s8 V6 G, u0 U- l
0 p1 x% A! D5 P% r* L J- q% k
gen vt=_n
; @7 b7 P9 } M2 B5 P# u
8 K9 [6 S3 O, d. z) ~ tsset vt
# T4 f$ S: d5 D2 u8 j* T# _2 w9 O, O2 L7 {! z0 m' m7 k/ b
gen zf=D1.v5
$ n( H- [( Y6 t9 H( w! e0 n0 {9 W. u, K! I! X! ^# F
gsort -v1
e0 }! p( u' y9 R- W
. F9 [4 }! F! k+ z gen avol=v7/v59 W. W9 L! a; V8 P& d8 }: K Z# @
5 L. r3 ?1 ?% m) O8 ^ keep if avol>0
; V9 d( @) C( Y ; }5 o2 O- r9 M$ a4 }
drop vt1 }' Q: V2 v9 c/ _/ O1 D
4 [- s0 I& ]6 c5 H0 x9 E gen vt=_n
( ?1 Y6 b9 e( E 6 j+ n& ~) W. \# q0 u' U
tsset vt V. Z) k% e) ~$ q7 k2 [
7 `9 A. t! F, a# E4 _8 q9 s7 n$ D
sum v5 [aw =avol], T) e6 Q% Z9 s. C+ l) H2 W
+ @) g/ i( u( `% Z( g. }
gen amean=r(mean) in 1
! X" Y0 T( d0 S4 D: ^
) m9 S5 a" a5 Q9 [/ g2 }* A) k+ t * 总加权平均值 amean
- V1 y2 L6 O, |7 M h" g) Z7 A 9 x" H8 v" q/ D& V) T
+ e3 L4 \6 s b, n9 h: ?
keep in 1/240" Y. U/ |; U& o8 r7 ~
; g$ j( A/ h4 I3 E* }! F3 P sum v5 [aw =avol]
/ D, y. {) C8 Y" b' A% a" B: L* a) S, O9 l+ g) U; x/ y
gen mean240=r(mean) in 1
2 T4 u# X7 Z5 P4 T: w * R, x- W6 K- a
*240加权平均值 mean240+ C/ l+ l O. y' p$ {7 ]# N
& D: h+ Y7 j& N! A' }9 l) X
set obs 500
/ O. D e3 v9 [2 g1 `) {1 Z $ I5 @1 C" ?% ]
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph: k" w. M6 m, y" _. r% v. Y7 e0 Q
' r, r; P9 K- K- H; Q
*240 kdensity(dx240 dy240)
; L" f! K; k1 l1 _# H
) G$ F- Z+ L- f1 @4 h sum dy240
( a, j; r( T+ ]0 {& K 5 U4 m, c& ^- X' {( t
gen yxis=r(max) in 1 a4 f/ i6 H3 W6 \3 |3 ]
0 Q8 @) B: X K1 X J( g8 r4 Y
gen yxis2=yxis/2
9 U/ a) i, B& D6 t
- E# p w q5 ]/ L) d *yxis$ }) q6 F: x( T7 L
% Q4 x) H6 s& [8 B* s. c5 c3 D+ s gen dy240max=r(max)/ u8 p% w; x; d8 f
2 G& p- J1 X+ Y# e* d
gen dy240minp=r(min)2 p+ W( d6 u' Y# p$ G! @2 h" [
2 S+ G6 o2 A# T+ m' `
gen vtt=_n6 X9 @& i! e7 r+ p( K8 o
! c9 |+ E6 f. H# o% j! C2 o
tsset vtt1 }: U' \; ]; S1 Z5 p S1 G
3 N; d2 ~. E) ]6 P# E. q. N; p
gen ddy240=D1.dy240/D1.dx240# c4 Z2 W; }6 H5 m
( n$ ]" U4 h6 W$ l6 I1 L
sum ddy240
- r2 q2 s X3 m( o# B
$ G J3 K. `5 |& S2 T7 }0 w3 A! k gen ddy240max=r(max)
! G# [2 D' |% |' X" k8 x
A( U: J8 @6 e# r, @ gen ddy240min=r(min)/ f: {' S0 Q, }. ]
5 T! Q- ?3 @7 }; k" d, t
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
- I* u& ?2 F, B4 D3 W* e; X ) K/ F! P4 x% K6 f8 Z: L* k ?7 b: z6 n
sum ddy240g
, r5 w2 P. q6 a3 F - m, V/ }' p* M9 l$ l
gen yxis3=r(min) in 18 N3 Z; B8 q6 \: X/ l" `
/ m3 M4 U+ i+ K- t! k gen yxis4=0 in 1# ^3 @8 g: E% J
6 c h5 M/ U8 q# K' {
*ddy240g 0 a2 x9 {$ {4 R) d% W
9 o( Z$ O3 Y A* W7 j; o, } 8 ]! F3 g1 ^7 Q. I( J
preserve & \6 G. a- j( y& x5 H! p
; y* e O4 W% Z+ D7 b9 w
sum v5 [aw =avol]
$ E1 h+ q3 r8 Y; P4 c- D' ^3 l) c' O1 b % E) y* S3 K+ a& O, h0 ]; J: q0 |
keep if dx240<r(mean)7 s' d+ Q1 c! E8 V5 Q: A( T
4 B+ V3 f5 i2 }5 t" p; M sum ddy240. x' a e1 _+ K' B- L$ ]2 s
# F0 x1 f. n' X1 J# n1 `
if r(min)<0 {
7 w1 R0 N& f8 n5 ?( \ 8 M# a( I1 k/ E+ T
keep if ddy240<=0
3 y/ X$ L# H" X* f$ j9 w2 [% I
( _- t8 \: T" @1 v0 @( m& I count2 y; V. X% r( t5 Q9 K/ [
& F4 e0 J9 T" F! m5 h4 @8 D
if r(N)>2 {/ M" c0 O- f |# b5 r- m
& w. o! ^, }. M2 Y* g0 ~: B
pkexamine dx240 dy240& G9 k: d) {( i! T: k( a
$ J B( k. g! \2 v7 _2 R local tempminp=r(tomc)2 S) ] P7 C3 S& q" o
restore 1 t5 p8 W$ K, i7 K
}
! h8 S/ N1 S( o) Q& O
; S+ j* ~/ S" G4 P else {, H6 d8 F( k- }2 a; ?
4 R. [3 E9 M2 Q5 M6 k5 C di "cannot find minp"9 l2 a, e! e* a+ ]; t
, b6 J7 `# ?6 a, ^# a restore
! Z/ S( M" z! N/ c- d sum dx240
w' B# ^5 a- l' d5 }9 s7 s( u local tempminp=r(mean); x! X( V& P( g- w
4 ~* t# `' D) g% v% H
}- C# c1 [! O) f2 J9 G
}( j9 I6 |9 ~- F/ n
else {
8 B1 [" s" |) R) k- q
/ G4 j9 a: n7 g- K keep if ddy240<=r(min)
" @: I" P. n8 k6 L2 ?5 K( K ( Q. ~/ h# C) q, X# ^3 p/ b
sum dx240& ~0 i2 m" _* t5 {) G# h% ~; O' V
) L' m, ~" U( M# X* x- T) G local tempminp=r(min)4 ?7 s9 P( Q! I# g5 p+ v' l
restore 5 l; _: o3 H9 [+ j
}
" f7 ]8 A* T+ z3 G" X
, | H. H0 F3 t7 r G' d$ P- _# m) ]' w$ ^, I
6 K1 t" M1 g- Y
gen minp=`tempminp' in 1
, G" p$ F) f* s4 m7 B# e/ u$ e0 \# T *240 minp, s2 ~0 S1 v" W g1 V4 y0 B4 b
8 j& D D! x1 b. w: {, g
+ V7 C4 F; v9 ]: C# _4 H E
4 P) ~' X# s4 ?3 X$ m. G$ d+ D preserve 1 W/ p" Y0 O& D/ {
3 J5 U' U6 s: Z( h
sum v5 [aw =avol]- g: K9 d/ f. }2 [4 }/ z
$ l5 n, X% W) R/ J* A keep if dx240>r(mean)3 o, K! K3 Y$ ^& c9 g
@: x5 @: O/ Y8 {* D; [8 O sum ddy240' S$ a A, s2 L9 {
* s8 s5 c! ^/ E: V9 l7 R6 y! A
if r(max)>0 {
( t v$ k: H8 U+ n- `+ W
" A/ j8 [5 e$ `, r( C keep if ddy240>=0
# C7 Y& o/ Z' M9 y, Q
! T5 a# ?, p' z9 O; L6 }5 ~ count
! ~. |, W& c: z1 o' E
% P7 K* x) W& A/ i& P0 f: g4 r& e if r(N)>2 {
% p6 v, K7 K* J- V0 |3 H) a) W
9 [6 M B7 x( B$ s8 j pkexamine dx240 dy240- Z' l. u' z; i H! x9 L
9 f6 y+ q6 \3 T. y. Z' {
local tempmaxp=r(tomc)
7 V# H# T3 }8 t5 \ restore
7 j. p" q8 X. n/ ^9 f) |9 M; Z }
7 {/ x8 F4 }& g; v& R2 k4 C. U
$ A$ T' V( K% ?+ {! K- z
. J: z. ]% ~, ? else {
+ T1 l1 a" |6 Q+ k, f2 p6 }+ X3 k restore 5 l7 _' t3 [) J+ Y X
di "cannot find maxp"
# p! D- @! }7 B$ _+ \* r; G( I
- U. {8 w' n' o4 g! g ( M% Z, s5 x l4 e Q5 j
sum dx240
1 I0 K% ?0 y- @. \$ b local tempmaxp=r(mean)7 \. I; H) T+ D& E* n5 T; _" W- h
\; c! P& a- f/ Y( z: n; p3 Q \ }
: q0 @9 l$ [& ^, g9 V. i2 m % V v. e5 ]+ D
}
* d9 q, f T) D, E/ p( D
7 e0 R0 E8 N- [2 |* Y7 _4 d else {
; h! D, A/ U( q# Z) U * F4 `# w; @$ c; C' L% G& Q
keep if ddy240>=r(max)% g3 _: D0 |$ `; k5 V
: m( O" L# n) a, g' p5 ?
sum dx240% z. h0 c. i) _7 s" v
+ }5 n I" K; q7 x) I
local tempmaxp=r(max) ; ?/ k% F1 y# ]8 C
restore
+ e- s; j E" Y( q. \ }- p( b0 T- Q2 D
! ]3 b m5 L) l( m' g3 Y
# L- X3 S0 e/ s; c5 C7 d" \8 X+ Z- B 8 S; `9 E. _5 ^0 d/ q% j
! H: h# M- z$ r, B5 n
gen maxp=`tempmaxp' in 1 p6 O s1 p- |, a3 b! s9 j
5 M3 F+ ~& |6 n3 C, |9 l! z *240maxp
* S2 r$ h6 c- \ L0 q: V
! M! X, a! j0 K1 k5 A 0 ^( Q3 O, V" ?- `6 v
*-------------ddy240pminp左侧高峰值-----1 ^4 r! W7 u7 ^* C- d
3 C8 a ] b. B# j& x) g- m preserve
: y% o5 t$ D8 h2 n3 V) a. R
^- c" l* s1 o, Y* q keep if dx240<`tempminp'1 p* |- E( u$ f3 ^- ^) r3 i- l
E, s% c3 L, t2 g& }) Z% B keep if ddy240>0
' {- R+ B0 u$ `2 r2 }" h. k ' E6 T" K- Y+ V0 z& u
count
7 V. U* @9 P3 y& ^
8 ~$ g# \) U7 \9 ~( a' K if r(N)>2 {
4 X: [6 F2 H$ `$ t# |5 _, ~ * |6 S( a- H1 V. R
pkexamine dx240 ddy240
8 z! e, V. `8 L% w# R* [' p- x - E" A. d9 B/ W* H" c
local tempminphddy240=r(tomc) 7 {: o- \2 a4 w8 G0 p+ V$ X6 H- @
restore
3 F5 g8 K; D8 c$ \" C+ a }
& K4 x+ S7 U9 l, O: o4 \' Z4 U 8 @, M; n3 ?: j) c" ^9 o
else {5 A' S% w8 l; q, s* z. n% I" S' I
restore
8 N2 M) D" H u! F2 G" V di "cannot find pminphddy240"
; _9 D9 X4 M e& D8 y: {# r : t0 T& S. T& U3 o* u
9 \- [) s# j- N: i/ W U
sum dx2408 f. ~( u. O$ k1 p' M
local tempminphddy240=r(mean)
. C" i) {5 ~2 S% i, ?& r$ d . I, C: \& d, ?: Q" o: }
1 i8 c% l E" j" e6 r# D$ [" g+ G }
% U2 u' s J+ z4 h
! v1 W8 c! M, |6 Z% E$ l1 B' Q: t
: L D. u, D3 v/ z 1 `2 o0 f" S* A+ W4 m, S2 K
! r. Y$ U5 p0 J, n7 G" B. v 9 z& l2 @3 q( c3 v1 W; `! b( F
8 Y- {6 p1 |% [7 W gen pminphddy240=`tempminphddy240' in 1. f/ [/ J! m5 v" N
: r) r0 h9 w. ~7 Y( k$ M' ]
& X( Z6 m$ f% Z, _. i: t9 I6 `$ o *-------------ddy240pminp右侧低峰值 -----------------
3 ?/ C! v# P* o$ \) `: K3 ? preserve
0 I% C7 m0 H; G ) W8 z: b8 Q, K
keep if dx240>`tempminp'
0 O, I- q+ h. j* S# Q5 f2 f& O 9 q4 k+ S. U$ L% {
keep if dx240<`tempmaxp'
8 }) Q' U8 E# A" U 4 t9 D1 c* k; C# `$ F+ w i4 p
keep if ddy240<0: y" q+ U& X2 D7 R T' n9 f0 t; K
~" B# c7 o: r0 F gen temddy240=-ddy240
+ M" ^( I$ f( W ) U& C' l9 D/ H2 N& N9 e. E# q6 O
count
2 N$ D8 r! m0 s( X8 \/ Q / F5 s4 W- Z5 s; ~, Q" h# c- L
if r(N)>2 {
: z7 ^8 F+ I+ Z
8 v7 c( w D! z pkexamine dx240 temddy2402 F3 f% E0 O% M; u! `: p7 F
6 \# S; y: c/ z( t. g
local tempminplddy240=r(tomc)& Q) X. d% g4 l, x1 N+ E" y; N
restore
* ^! n7 y6 y# c+ f0 e0 H: F }
& i& _* T9 E& p* M 3 `& l5 I" o; I% Z
else {6 ?4 H. E; u, Q% K* N+ f5 J6 g
: P8 M, s3 y, y Z# k9 v/ `
di "cannot find pminplddy240"9 b2 Q. S! J g4 z' Z3 X, a: p
restore% o$ f! _8 ~) m! \
: s8 {6 V# e% g& g8 N
sum dx240
0 E8 Z/ M7 R8 v: `$ R! L- o local tempminplddy240=r(mean)
3 g$ |2 E8 b1 L
- F; `8 t y0 m) a7 {3 X5 M " X, ]( D. @) S. e' i0 Y" e
}. \7 o% y+ w% D, H
5 x5 w9 U; ^% O8 i7 g0 Q. j
3 C, x$ k! e4 T `- D9 w' F 7 F7 m) N4 M7 s/ H1 l' A
+ l& u8 w. R9 Q: X ) e$ L( V* P" J
gen pminplddy240=`tempminplddy240' in 1# N/ D% D$ _) l) ]2 z" }
) i6 ]. |# ^, ~
*-------------ddy240pmaxp左侧高峰值 -------------------# F/ ]: P" l/ x, E3 B1 U4 r
. E5 D( }: @+ S ^9 y
preserve
. Z8 \: `0 R- L
% S' n) R: ^, |0 c/ P keep if dx240>`tempminp'
, n* Q: B& D8 g7 S
' T' V. j6 V/ ?& Q keep if dx240<`tempmaxp'
& i2 p. x3 m* I8 b. R8 o$ S" T) m
/ X2 {# J4 [: I, [ keep if ddy240>0
+ L3 z9 {8 [6 Z+ k count) w% c6 `7 Z9 ~! }* K8 A8 X
0 @! M4 ~8 @7 t' ?; \3 I7 C7 ?
if r(N)>2 {
$ ^. R" Z5 V/ ]9 M6 X' b
( @7 z' s. ?1 C" p& Z# c pkexamine dx240 ddy240
; ~6 ^9 \5 S5 G2 d 0 S! l9 n2 Q6 A# G2 x0 E
local tempmaxphddy240=r(tomc)
- R" U9 d. A; s: ]* G$ \5 f6 U
; a6 o8 ?4 T1 G2 t# j& y restore0 s5 d4 t. ~2 x' N
}" A" P! o5 N. _- E( V8 `1 J
1 O3 ^0 g# X2 k! d& ]: `0 k5 ?- P
else {# O! [% c& i9 J. m; g! S" V6 Q
4 z8 x0 k8 C1 A* d3 X di "cannot find pmaxphddy240"
/ y$ {6 y6 j- c) f; p restore6 J5 Q$ [" H( K( D. V; U9 Y
6 O6 P5 Z2 Q' x! N& c+ w" E7 E l
sum dx240& ~6 V/ `2 }+ S; h0 o
local tempmaxphddy240=r(mean) % v+ K! P. a' _, k1 C. I
/ e1 c/ ?6 q! Q$ z
2 B6 |" z r8 @- ^/ D& N" D) Z/ M }2 G7 k2 `2 }" c- W1 X( A5 ]0 ?
* t; H+ _; [4 M+ m' G- ?+ g
; y G6 K$ H' S. _' A0 j' i9 A8 J
. v7 E% A1 b4 E1 v& S
; Q" r& _+ O9 }% M l
: d4 R- j* L$ |9 `" v+ p4 b) Z
1 F0 y: r( z$ s' ^
gen pmaxphddy240=`tempmaxphddy240' in 1& E% f5 }1 e. a) f) y
# D k2 d7 q% e/ j. Z , D: K: D% n5 j& t! z8 v$ }
*-------------ddy240pmaxp右侧低峰值 -------------------
0 I. p) u4 c. W$ w2 M
* G2 h, b+ r* N- Q) m, w preserve
, z2 s* _/ E) ?. _2 B
& }" {) E6 B; M$ t& Z' \( ~ keep if dx240>`tempmaxp'
. U) S1 y3 r# W 4 i9 Q6 {# j+ {! ]( ]& o4 i0 I
gen temddy240=-ddy2408 D9 d* e) M' m3 Y }( `' c
1 t) h1 {1 e0 k
keep if temddy240>0
* A, r' _" a! R$ b9 B, i! \
# n6 o2 ^& p" B( z7 s, g count
* m0 ^ t H* v: ]9 i6 _ & [/ o# r. r1 }3 B% N2 C2 A
if r(N)>2 {
7 f- V1 T, M% Y$ Y4 x
; ~$ E# o9 M# a: ^( A7 \ pkexamine dx240 temddy240% S$ V" \2 M. r7 O0 A( a+ `- e
3 Z! i- _+ y6 F% w* W2 r* Z m
local tempmaxplddy240=r(tomc) 6 @0 K& t& u/ n* f3 z5 h4 s
restore
" x/ _5 `7 }& n5 }# B# ? }
# U2 d0 n/ M9 ~5 Q, w* ?
4 |0 E- I3 q/ w: s4 O$ h else {" _ K" j" h& d- L. s5 P
restore6 T9 L" |$ C1 t
di "cannot find pmaxlhddy240"
c; w U4 l |
' }3 C! E8 |$ @+ P; `1 F4 [1 L, R - G3 ^& r: y: L+ V9 E* h
sum dx240
9 \- L, b, c( Z0 ]* j' ]0 M local tempmaxplddy240=r(mean) in 1
+ c* i9 P4 ]6 }4 s U
' J F3 O. T6 I
5 p" k/ |) A5 A, x2 W }
2 u/ c& G% S. a! e' u: k & C" e6 A: X$ S8 O
{4 Y2 M. b- C/ |" Q' j: O ) _" F' R* Z9 c8 M" i
; ]4 I! X9 G8 v: Q % B$ S* O, G* {) ]6 `# x
; B+ i+ }5 i A9 J q gen pmaxplddy240=`tempmaxphddy240' in 1
6 C# _4 f' }$ R$ A; W' V # Z: b; v8 n6 Q. K+ L+ e
*-------------------------------------6 {9 {9 P. n# ~- O6 K
9 ]/ F+ `8 A8 e8 `% d# M5 [ gen price5d=v5 in 1/20
! ?9 k5 c& E. q) q$ i 0 B* n) {1 n$ ^+ F) V
gen price5yy=_n in 1/202 |. c/ q3 W- v, Z; R7 q* p
* q1 g9 x2 z; g! N
gen price5y=price5yy*(dy240max-dy240min)/204 ^3 ]0 M8 @5 s7 e! {' m
1 Y8 d5 f3 W5 [0 ] *price5y &price5d" @5 s' Z5 J8 f" t3 W% a3 n) d
+ _7 K# ^3 X3 X5 V; Q+ O3 R* q
gen priceny=price5y in 16 B2 `+ _4 C0 Z) q- l9 `. N* T2 \
' `" D, v W, P w- M9 h gen pricen=v5 in 1
1 o5 L" N/ k, K9 P% a \) a$ T8 Z0 `+ M( ~2 `, c0 a! b
+ N6 a% A$ }4 h# G, o* f *priceny &pricen+ g3 I/ ]7 m. ]* {% _
* H' D7 @# [% |" s+ M/ n2 _7 f 4 K9 c2 M& L$ n" @2 P# j. t5 a
*-------------------------graph------------------* v+ R8 |4 A+ s' H/ R) V
7 i% Z3 l# ]: v I6 y$ x, J
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)
4 P' D+ U$ |3 W, b/ o! m
+ K) J: C- k' O0 {' K; S* ---------可选项目----------------------
, b/ r8 ~" U8 G*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))7 Q2 V: a' v: C' d2 d/ e* p# {5 \
} ]7 _* B* M/ v$ m) q
end5 d: Q3 t8 t O5 a2 A) f) B
|
|