|
maodeng 发表于 2013-1-28 13:13 ! W4 P; v' `5 [+ b4 O2 L/ w- T4 {( U/ X
. hello 3002368 X+ E. R1 W: f5 a$ ?) j
statement out of context
$ G6 T# k6 a. L" q. Z4 B W8 er(119);
+ I! T% i# B5 O( o( Z9 b抱歉,最近太忙了% v, D/ C1 U2 S+ }
3 I# t5 h* z. k* J( k% _3 n. P) X300236 我用下面的程序试过,没问题
% I4 E5 }1 o3 @5 T" L- Y# k! H- l; W
4 q; D8 G" V7 i# r你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
' n4 a+ W8 d: c W# q
5 N+ K6 u* ?/ F: O9 N3 P* f4 Q# Ccapture program drop hello% J/ q7 I4 N8 y( r0 J4 Q
. }* k4 `% a# @" lprogram hello1 y) l' I; C/ i
: n' z' ]: @! T0 s0 o quietly {$ _$ y1 D2 F: j% ]" u
) i9 l$ W" T' u, S$ r }clear
- w/ h3 k- J0 M; b& b U1 @
0 f% ~9 S8 T& z6 k0 f1 _# v3 Y: mcd D:\stock\test\source1 f6 i4 t M, \; H4 k
1 R+ K, u: |# n3 E; w6 D
insheet using `1'.txt
; |. z! J- G r$ ]6 L& }. x% y6 A
6 k' D) o- ?$ N. _ keep if v5>0
- k! F" j' {/ f 9 }* \% `3 s8 v- H* x
gen vt=_n
6 X2 E" s! M- ~ & Q" l4 t V: s) Y/ _
tsset vt
4 B& [- _1 a. w! Y' m6 P3 o9 o6 d. U: G
gen zf=D1.v5
1 H3 f1 d3 U( N7 D, o" E( @
4 q' o. h. U' |$ N6 [' [ gsort -v1
2 S8 h1 q/ r6 l( n+ ^- r/ Y2 W- E; ]0 R4 z! |* C
gen avol=v7/v5
6 g0 v1 `+ i2 [$ U4 E, @ # d5 Y+ b# p6 L* G+ f; H
keep if avol>0% L6 a- \, }7 r- I
2 f' E) F( k% I8 _4 t! e# `
drop vt( Z6 N- }# N/ Z) ]4 i" n7 d+ ^1 A
5 I) _+ ]! J+ I4 Z1 p3 O1 t/ G gen vt=_n1 X6 d- H" D% }
' v. K [! f* s& ?. T tsset vt$ l J. G9 d3 `( S% C. C5 D+ ^# E' Z
/ c. n" O/ i* Q. ? sum v5 [aw =avol]2 c b2 i8 l7 X) p0 y, e f$ E
{, y+ X" y- T* y4 o* x7 g2 V gen amean=r(mean) in 18 V+ b( @# s& H* h( I7 d6 U
& D k8 r. [' h+ ^$ O * 总加权平均值 amean
& o" q3 ?' Y8 K: L' f
, U# B, s6 ^" O; H$ F* E" p. _1 P W. J0 L1 K+ V( c& m+ l9 ~! d4 k
keep in 1/240
! J9 N+ g. O) ~' S V8 N
9 U' [* n% E' o1 ` sum v5 [aw =avol]/ Z* f4 K/ S9 K6 I1 d+ [8 ? t; b7 T
% Z6 s3 G' S% Y8 k) d1 _. J
gen mean240=r(mean) in 1
( T' a6 c1 W3 p; T* W9 Z1 Y" t ; v+ s/ w$ x" S- y
*240加权平均值 mean240
# E9 x" E: r) c8 C* ` 9 Y$ j8 U+ T- z! `
set obs 500
: k, Y: J5 p9 z8 Q; e1 q 4 D$ Q: N! i( c0 C7 c
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
0 \* s7 f+ a/ K3 @- `$ T. U# ?2 _
* a B2 ~0 I h* P# X8 L( q. i8 ^. ~ *240 kdensity(dx240 dy240). j% {! O. [ O7 d: S
6 Z' X; H& I) p2 o5 C- A8 d
sum dy2407 I* D( ^4 d M: }1 E- b
& ]7 Y: ]6 ?& l) u- t. K gen yxis=r(max) in 1
9 _9 O; F/ C8 [; s3 s% a ; e; v7 k# p) A) [1 I
gen yxis2=yxis/2. V. ]. C8 B( ?. a% q" u
3 I( u" b8 K2 I0 \/ ]. z
*yxis, N/ v5 ~1 X u7 \. ^: i
- s& [8 H" X+ {: w9 H
gen dy240max=r(max)
- V/ S/ L% U) o! E- V% M0 J
* _- U! {) m, ^# t gen dy240minp=r(min)
+ `! q& D8 [+ n' t! ?7 C" {2 Q% C 6 y# B) l) w/ `) o. w6 o$ \
gen vtt=_n( C$ G: w4 W% @; a8 ]
. t) [' E, M* ~! o$ K6 ~" o
tsset vtt% ?* [% R! w& p
8 j! d9 E- c2 I: N& e: s; w gen ddy240=D1.dy240/D1.dx240
. Y% ~% Y3 u: e. A& _. b7 D 4 c, l: Z( U- H% P
sum ddy240
- Q9 P2 Z: v7 [8 x$ T7 v; @
4 T6 {. e a5 g' Y& k$ `4 R s gen ddy240max=r(max); H3 |4 d' r$ ^9 p9 d
+ h; [8 \6 S& U2 g* `+ Y6 `9 \ gen ddy240min=r(min): C; o/ ~6 E7 a8 b
6 ?( i: S! }3 s ~" X gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)$ L' b. R$ z" H, u0 y( p) u* o
7 X: b( P" o# W' k3 y sum ddy240g5 i5 z( P$ W* L$ v
. }( S) n5 S- u/ @8 S1 D# w gen yxis3=r(min) in 1
- q! Q( z% }4 [ ^9 S1 z8 ?
4 j5 G' x' D- e4 W8 b6 Q gen yxis4=0 in 1+ ^& n3 d; \2 N
$ M8 M5 b b: n! t% D
*ddy240g
* p7 @9 K. L3 t& X! Q/ H
* d6 ^- K* \" Z8 k2 k) { 1 g9 M& g2 D0 O. e5 X+ [
preserve % X% e' ~5 ?: l! a4 w
/ P$ [+ d% w, ?4 P/ h: Y7 |7 P* C! Z sum v5 [aw =avol]
; j% B9 B8 m7 G, Z7 G" z/ i7 Q
% f2 j7 h- L. c' ` keep if dx240<r(mean)# n' t! {2 R$ I$ s8 |+ t
5 v# v Q; A/ [! T' k: m9 a. C3 Y* r
sum ddy240
$ y5 |$ E9 K8 G0 G x n2 [8 t! J( s4 J. y/ o
if r(min)<0 {. b$ x5 l! V1 l0 @* R
- w9 j) u8 t: |0 X keep if ddy240<=0
2 x# k* u6 x5 d 1 I" X) q/ \, Y, x0 O
count
# |3 D6 ~( t0 Y! T1 F
6 k( a- \- H! d6 B1 H( L/ x if r(N)>2 {
3 d: H. Y6 P5 _% u! n( ? . w" Q% I- \. ?, ^& M$ o
pkexamine dx240 dy240' ?; Z" v2 K1 l- v
2 C+ u& o" Y- s. |. W4 m5 A
local tempminp=r(tomc)
4 l3 r3 c" C$ b+ r restore 4 C! `+ O: }1 ^8 `4 [ `
}
' e3 D& C+ B( e
7 A( s2 V; k, S5 i else {" K" v5 z4 [* v- m* c* F2 p6 v8 m
" k/ p% b8 R) |0 w" ~0 j. G: j2 s* f
di "cannot find minp"
7 A1 |- ~5 o( s5 t
3 B' ^, ~. v9 b/ o8 R restore
6 l2 M: J) n" a* Y sum dx240
, b4 M: ~& r4 L9 M local tempminp=r(mean)/ G- i+ e. Q0 S2 C2 `
V8 ~& H8 S0 k0 n7 I2 W. z' |/ ]
}
: J4 ]/ X4 I3 P# {3 `4 W" e6 _; i# l }
$ I9 M7 Y5 Q/ |5 R9 h! R/ ^ else {
h* s( e; g9 {
! }4 N" i0 Q# c% A3 U keep if ddy240<=r(min)" r/ ~" Y2 [: t& h
7 l! @. i! c- T
sum dx240 s; u+ P$ M. S1 a* B6 O
7 @, Y" {: }: e$ u
local tempminp=r(min)
7 `( [2 G( z8 O- R0 F$ n: C. j0 R restore
& @) w% O/ T3 @, o; o& L }7 V" P6 _8 Q8 P& _, f2 y0 Z
7 ?7 P, T) t+ t. Q( `; [, }
8 Z" ~# }0 n% v8 Q
' K. H3 n; M/ q* a; ` v! j gen minp=`tempminp' in 1
* p( L( z& O' {+ K$ U *240 minp: r) o& X8 D* S- T. Y! G2 q( u
6 C0 Q0 e7 Z: l# y: R% N
2 Z) Q: Z8 h; P5 G5 x
, A( Y( \! p# Q; x4 F preserve
$ a- [1 W2 N4 R' f' l; m2 A ' |4 s1 D$ G* J2 k% G+ n0 C& O" a+ k" D
sum v5 [aw =avol]3 L9 C+ h9 h5 r
+ l a. E9 c* h. [. f- L keep if dx240>r(mean)
% Z% E/ V( J$ v . V3 q$ M/ O* k; r& C. q
sum ddy240# v$ s# P0 s6 g: u) Z
( J7 n) U' Z, w" Q; Q if r(max)>0 {0 z8 ?8 e- v' L
5 w: M6 ^) ]. ]+ b6 ?2 b% a
keep if ddy240>=09 F. q: A' s$ j) `5 T) y
- z4 i9 ^+ }6 Q; p
count
9 t. t9 h& d- |$ B: g. O & c' m3 S2 ]% ]
if r(N)>2 {
- U8 f- E' U) f9 }' { * x; t( ~6 q* h# [- }- }
pkexamine dx240 dy240
, a3 N; N: A. r
) c( b, l' c) d5 `% { local tempmaxp=r(tomc)
" e' V5 e3 f# G6 y( m restore 5 |( C) t f2 ]' T7 o
}' S8 ~3 Q8 Z6 C$ }- \! D
5 \' H7 X7 }7 M9 `* \0 B5 e/ x - q" M: l; n$ F# U0 M& U
else {
1 p4 D! n! r) H7 x0 e, U" ]9 ] P- ~- L restore * }/ g' L s# F# W* d8 @
di "cannot find maxp"8 t9 X: I3 D8 c% K
6 `! k- @7 ^ |* B! U 3 M$ y- b( r; H" D* g& ~7 ^
sum dx240% y) S6 J" L; ?- a7 ]$ {
local tempmaxp=r(mean)
$ ] b( Y8 m6 O6 B4 \3 Z
2 y+ Y( {9 a+ F* w }
. v, o% L( e0 w 8 \9 s3 \8 ]+ Y- K* P! [/ M
}7 C r2 ?/ \6 h! g# A5 z7 F
# t C* ^ M) f
else {
5 A8 I3 ?( i% \2 | ( D/ H& m8 q2 f# f
keep if ddy240>=r(max); k- _$ A( k4 N: F1 u8 }
0 ]0 E$ [! @/ }# `. K
sum dx240. R# } H! R5 g( ` b. z
5 u" X& Q3 }3 T/ U3 t# f7 O local tempmaxp=r(max) # o7 o3 k1 I3 y' m2 L
restore ( C. @' `( J9 h7 J
}
% e/ I( [# W7 J: K: B8 C; L' h
; X" k# |6 Q: c) J
7 i8 j! j: A7 p9 X D0 F1 I) U
* s) x5 \- M- s) o. h/ W, Y$ a4 T! W
- Y2 e7 T& B; j5 d3 c' R# O9 w$ k gen maxp=`tempmaxp' in 1
- f! m C" d6 _ \1 C5 q
& H# n7 ^3 U! _5 I *240maxp
) W5 w' d4 Q y5 D" f. { * ?; @5 I+ e( u# n' D
2 Z' O% C; }. i/ Q *-------------ddy240pminp左侧高峰值-----
. M, M( h4 k! e( I2 }, u* I ) T& F0 m3 |5 V3 D
preserve ! M/ [7 R1 f' k8 X2 l3 t% j
. X8 a, W* S* R" M; {& v$ n G keep if dx240<`tempminp'
4 k+ B5 U: e0 w6 N6 p: @% s. w # g' U, O1 W# m3 l- A2 r: m5 b
keep if ddy240>0
2 q2 {9 {0 H2 h) h
+ Z! J$ u$ l4 _: g i' A" p count
* d; f- f- Z: B* R3 H+ b 5 Z# a2 h5 h- d
if r(N)>2 {
( M! `8 C/ @/ J5 h 3 M4 Y: u* V8 C
pkexamine dx240 ddy240
, w! W& x6 q% s
/ } r5 B5 n' x local tempminphddy240=r(tomc)
' B, ]& y( b$ [% Q+ \/ m L restore
9 E2 P+ c4 _: k* }7 z; F' y }* ?7 o/ J: T4 N- M3 {
% }/ B1 _+ J. F- H) e7 ]/ H4 O
else {; P+ O% B: Q- P3 _1 O) l
restore
. J& h; q6 \. Z3 t' E, A* @, \/ B di "cannot find pminphddy240"& `1 k/ w S2 f5 {, m
0 L( ^' {( S* b. U9 s+ }
2 A" ^+ O0 @) y8 ^+ i sum dx240
5 N! {7 k1 t [! A8 d3 `2 u local tempminphddy240=r(mean)
7 E; U! h- p" x& B& a, e) z- e 3 y+ T) G, e0 w |5 ^
) S) G5 E2 ~, Z0 g+ b
}3 S& G) ~5 v* `( e A4 E
6 _, J- C) q/ p9 w7 y6 B
f1 Y9 A6 }) M# U. Z. x
- X# v9 y) M' I% L& W) m' M
$ i0 [: F, F5 z, l' c) d# n& _ $ h, A! L9 L( F+ M1 N0 A
, [9 D: {+ {; A5 E gen pminphddy240=`tempminphddy240' in 1
' V0 s$ B( ]- {& p2 X
9 T& I, }6 y' Q8 X) C0 G* W1 `3 [ ; t: Q: ?0 ?6 G
*-------------ddy240pminp右侧低峰值 -----------------
A- K3 U' f9 _- i9 C preserve 2 F. I: A& w( h# S& w
5 Y7 j% w1 B2 D' }" j- W; ~ keep if dx240>`tempminp'
/ u+ W. j% V1 A. k" j
& W$ k2 ~; I) }9 j" r& s keep if dx240<`tempmaxp', ~5 ^1 k5 E- g. y; P
' M" {- U' x' ?! R
keep if ddy240<0
( t$ N1 ^+ \7 K( H1 e/ V
# K0 _3 l8 p+ A gen temddy240=-ddy240
% o4 e5 H0 L9 C- o( R3 S
8 I- B3 b& _2 s' I& h4 B count S# `8 R9 c$ E! b3 F* Z. d! I
1 e8 T1 o1 t6 R! t4 U( k# p: y, J
if r(N)>2 {$ \/ [0 b0 c: K6 P
3 Y* D- ~ `# V( q! p: H pkexamine dx240 temddy2404 g$ g% T2 |) A7 W
% H1 q& A4 b2 E6 @( p# j; w local tempminplddy240=r(tomc)8 V# Z+ v6 t8 m' n9 q
restore) h2 j* _4 e. ~. g
} P4 r* n7 p8 t, k& t
/ k; E$ D* h9 i* X p8 h6 m else {4 Z4 N0 p) V3 h1 w- Z
# }. C( b8 r* S* V3 M$ h
di "cannot find pminplddy240"
1 P- j3 y% K2 b9 I/ I/ ^9 G restore
6 _ z: M+ i8 Q+ m, Z& Q$ } 3 M# M' j9 ?5 F# B- L( E% h
sum dx240
* y+ U- d4 n5 `1 [+ q local tempminplddy240=r(mean)! }$ q+ z# n" H& X C+ k( T
4 W5 o2 K2 W9 j# H
! I+ y7 D( h1 z1 A }
5 K9 H9 y- l" ?$ d& ~' h6 ?
- M; \9 R. {+ U' ^6 `5 `5 t- C {7 F: ^7 J* ]$ T! f5 I* q/ `
+ S8 t g/ {! l# v2 N# F
9 T3 U f8 G8 }+ B! {% W( e3 ~
" a ^0 r2 i, `1 p" u# s gen pminplddy240=`tempminplddy240' in 1
4 c$ h2 [" M4 |5 F3 G/ p6 \* | - D7 h8 | H1 L/ k; Y* M
*-------------ddy240pmaxp左侧高峰值 -------------------9 ]5 | p h: d4 ~' ^/ r
% `* T- T \ ^6 G9 M preserve - V B+ Z, @9 s
1 G5 U( q1 g& I d+ g1 K) V keep if dx240>`tempminp'
1 N7 I% `/ m7 m+ H% x
6 I: h6 \& u6 l' e# m0 @- D, H6 p keep if dx240<`tempmaxp'
, e% |; z+ s6 l6 a ! O, U {/ }: I9 R8 k6 E
keep if ddy240>0) `% y+ M; i0 Q/ Q: o1 _
count
! c, ~2 i* S, p7 w9 u# E
( l, W2 J; {5 ?) U3 _% E if r(N)>2 {1 {+ U. U! u. J+ h1 ^! }( |
7 x9 N' |+ b" V4 ?; ], v
pkexamine dx240 ddy240
S/ s* t$ Z% D! X6 D. f 5 @7 Q* V9 o8 e* n$ f
local tempmaxphddy240=r(tomc) & n5 o% i" a. C8 n0 F9 [9 L# D+ m
+ T6 S7 w7 @8 S" {! H; ^ restore
; _* C0 B$ N8 W, q }$ o) i. V6 n2 G/ c4 ~
1 T3 m" C! a1 H$ u; j5 a else {6 r* S! h/ L" g7 H% R5 L" V# o8 J
4 @: p3 J" V; q4 F' t% S; F7 N# _: t di "cannot find pmaxphddy240"
# c' J9 A1 p' r' n0 L1 X restore
+ {! t# C& j3 j$ b6 U4 k. x
, w- G7 d2 v8 ` sum dx240
2 U0 ?; u: z* r8 T" j% Y local tempmaxphddy240=r(mean) : L1 s" j' |# \* j( p0 J
; s1 p: m; H$ D$ ?/ {: k
0 l! f1 b E0 F. Z: R }
D4 \6 c/ j: V" I& Q
3 p8 t& e! \* ?, T5 F0 T7 s
5 p0 `3 G1 p5 u * Y" e5 J" x; X7 O
z" G2 Q1 K [4 E; e
, W. t8 T6 A5 n7 x! J) K% P0 ]& a
1 l2 y2 C2 V1 f# X1 W5 d) t- J% d M/ { gen pmaxphddy240=`tempmaxphddy240' in 1
) }4 M# S/ o" l. y# y3 b5 S $ u0 H0 }2 d; L0 ]# I f; `- N. }
# v0 F: ]- |* a2 M7 U/ S *-------------ddy240pmaxp右侧低峰值 -------------------
9 s/ k$ J# P7 c+ { ~! b( C
) X: Y5 X1 k6 g% L; H- Z! g preserve " ~" L+ b1 Z- D% t: K/ F
* y& w ?" @! e. f3 a keep if dx240>`tempmaxp' e+ C+ h, g S, B% t9 O$ V
6 X+ ~" L/ P" t, E( D3 g8 R* d gen temddy240=-ddy240( K2 R3 H6 s) G9 J
4 B" i; I4 X& @4 D0 a$ X5 I8 _ keep if temddy240>0) R* D5 b4 h6 m1 m
7 ~! `( {# {6 M: ?% F count# g# N$ l) c9 d9 r( A3 Y
( V& ?; H& J6 X- u' k if r(N)>2 {3 l3 h. \0 q) l k
0 C5 j% Y& z; o; A d6 _
pkexamine dx240 temddy240( [ T4 N9 \" f2 Y& X# n; j
9 Q% J' T: D; T+ L7 v$ i# @; l& d local tempmaxplddy240=r(tomc)
( l$ L- G7 ^4 Y restore/ M( g' o5 Q) R, f
}, v' @; ]- }# {) ^1 p! |' E
2 ?0 B* y1 G) y! h
else {8 D6 ^7 {: w% R8 ]) l
restore
+ N" ]* {# @) L T3 p2 Z' z9 Q: j di "cannot find pmaxlhddy240"0 |! D) @5 M# E; n2 O; q- l
: |5 i9 O# g9 T1 w , S1 b, A3 t$ c* \7 P/ R w+ j
sum dx240
- F" e. c% u1 y( z local tempmaxplddy240=r(mean) in 1
; }" N! X: c# P$ }% D. a
' T& I1 }% I/ [. [& [( }
* D. {0 `0 b/ @) q+ g" E+ {: M }
" T8 {) W0 A) d# f9 o. {2 @ & q2 g! h5 X! T' m( c3 v
; }$ m8 u' r4 O! r ' r) c% ^6 u7 t9 P# I
5 m: v5 b0 {5 ^7 \3 ]& N" I# ]# q
. L+ }# c' r6 B! q+ x
. Y9 u, ]/ Q9 G4 q gen pmaxplddy240=`tempmaxphddy240' in 1
1 ^# q4 n V6 W8 j$ B$ z& N% ~# Y ' z% f4 M2 h- `- b. K, J3 V
*-------------------------------------
2 R$ [' M( }& z: M' y $ E3 V& b2 y5 S, @% j5 _" _
gen price5d=v5 in 1/20
* X- ]5 J; R8 F( g ( o' z$ x3 ]1 `1 n2 o' u
gen price5yy=_n in 1/20" r1 L6 p- p( `8 k! R
) }$ E! E: ?* L! U9 @5 r6 W gen price5y=price5yy*(dy240max-dy240min)/20
/ h; p/ w) B0 m- G/ c" f/ F' c5 p
/ B7 t2 s) K. N' E- E *price5y &price5d! b& {4 K) {* f' v: {3 ]. \
5 T; j6 i6 Y# j1 L# Y* C
gen priceny=price5y in 1
# Y! `$ _0 u+ r) n- L
& c9 R8 G4 o1 U! ~4 W gen pricen=v5 in 1( C7 Q) Q' t' S& m
0 l0 n J2 d3 I/ G- _: }* d+ U
! e+ Q' l2 K+ L *priceny &pricen
7 b' W( h( L( T6 C, I! C7 y
, z: K/ o# D" r$ H/ l
: v) t# x9 s c: T& X: g *-------------------------graph------------------+ d+ t/ l* h$ n& ?# P* M( j
( c; ~0 x* s z/ m0 f" F& u
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)9 J' ?4 n# i* J. t( }# G
* h. T0 J$ Y: a) F( I6 j* ---------可选项目----------------------
. h5 @0 D* G2 S*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
, O: k# }4 J0 a}
; @4 p% \. x3 D. J4 y( eend
# U& t5 V+ L/ {3 l! T- B |
|